亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

語音口令紅包小程序如何開發

發布時間:2022-03-14 10:48:26 來源:億速云 閱讀:196 作者:iii 欄目:開發技術

今天小編給大家分享一下語音口令紅包小程序如何開發的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

  錄音自然是調用小程序提供的原生接口,不過這里比較坑的是微信的錄音格式是 .silk。網上搜索的方法是先將.silk格式轉成wav或者MP3格式,然后再調用各大云服務平臺的接口實現語音識別功能。

  這里使用了 https://github.com/kn007/silk... 提供的庫用來轉成wav格式,然后使用百度的語音識別開放接口 https://ai.baidu.com/tech/spe... 來識別語音結果。

  業務實現步驟如下:

  1.前端實現錄音功能

  2.upload接口上傳.silk語音文件,入庫

  3.觸發語音識別task,返回成功給前端(異步)

  4.前端輪詢識別結果。

  因為從上傳到識別到返回結果是一個耗時操作,所以識別過程最好是異步操作。(第三步)

  upload語音接口部分代碼:

  // ... 業務代碼略

  $voice = $this->getCreatedVoiceByBody(); // 上傳并入庫

  $this->identifyVoice($voice); // 觸發語音識別task

  // ...

  public function identifyVoice($voice)

  {

  WorkerUtil::sendTaskByRouteAndParams('task/detectvoice', ['voiceid' => $voice->id, 'type' =>'redpack']);

  }

  如上可見,將一條包含了語音文件地址的記錄id及類型發送到了后端task服務。

  后端task服務處理如下:

  class DetectVoice extends Action

  {

  public function run($voiceid, $type = 'redpack')

  {

  if ($type == 'redpack') {

  $voice = Voices::findOne($voiceid);

  $url = $voice->voice;

  $saveName = '/runtime/redpack-'.$voiceid.'.silk';

  $convertName = '/runtime/redpack-'.$voiceid.'.wav';

  }

  $this->saveToLocalByRemoteVoiceUrlAndLocalFileName($url, $saveName);

  $cfg = [

  'appKey' => 'xxx',

  'appSecret' => 'xxx',

  'appId' => 'xxx',

  ];

  $util = new BaiduVoiceUtil($cfg);

  $code = exec("bash /www/silk-v3-decoder/converter.sh {$saveName} wav");

  if ($code == 0) {

  $result = $util->asr($convertName);

  if ($result['err_no'] == 0) {

  $voicesResult = json_encode($result['result'], JSON_UNESCAPED_UNICODE);

  $voice->result = $voicesResult;

  $voice->save();

  @unlink($saveName);

  @unlink($convertName);

  }

  }

  task服務的處理邏輯也很清晰:接收需要識別的voiceid,查找記錄,把語音文件下到本地某個tmp目錄,調用shell轉換格式,將轉換后的格式調用baidu的語音接口進行識別,再將結果入庫。

以上就是“語音口令紅包小程序如何開發”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

资溪县| 庄河市| 民权县| 庐江县| 襄樊市| 宿州市| 伊宁县| 玉山县| 合阳县| 玉环县| 施甸县| 峨边| 沂南县| 曲阜市| 河源市| 老河口市| 二连浩特市| 旌德县| 门头沟区| 宜兴市| 阜阳市| 安丘市| 万盛区| 高陵县| 内乡县| 瑞金市| 阿尔山市| 集安市| 大港区| 萨迦县| 寻乌县| 巴林右旗| 玛曲县| 公安县| 九龙城区| 景泰县| 潍坊市| 临洮县| 松原市| 兖州市| 长阳|