您現在的位置是:網站首頁> 世界杯半全场是什么意思

微信小程序語音識別、合成

  • www.dhy2000.com
  • 2019-04-25
  • 28人已閱讀
簡介網上前篇一律的微信小程序語音識別博客,在小程序api更新之后讓莘莘學子看的一頭霧水,這里只敘述前端的工作內容,畢竟朕也只是初出茅廬。先送上預覽圖:?????先敘述下原理:  利用微信小

世界杯半全场是什么意思 www.ezveqs.com.cn 網上前篇一律的微信小程序語音識別博客,在小程序api更新之后讓莘莘學子看的一頭霧水,這里只敘述前端的工作內容,畢竟朕也只是初出茅廬。

先送上預覽圖:

?

?

?

?

?先敘述下原理:

  利用微信小程序api,錄音結束后返回mp3文件;

?

  使用方法請看:https://developers.weixin.qq.com/miniprogram/dev/api/getRecorderManager.html

  

  錄音轉換成文件的格式只有兩種:acc mp3,所以網上老api返回的是silk格式的都是過時的。

?

  切記:

  微信開發者工具拿到的MP3連接是不可用的,只有在真機上調試返回的是本地文件的路徑,這個路徑指向錄音的mp3文件,是可以用的。

  如此輕松的拿到mp3文件了,很簡單吧~

  接下來我們將利用百度語音識別合成api://ai.baidu.com/docs#/ASR-API/top

  也許看的一頭霧水,沒事~

  百度語音要求:

   這里配置微信小程序錄音api

  

  配置后start的值為:

{ numberOfChannels: 1, sampleRate:16000, format: "mp3", frameSize: 50 }

  這樣錄音后取到的mp3文件是百度語音想要的。

  方式一:是不是要問了百度語音識別不支持mp3格式啊,這就是java后臺的事了,網上java mp3轉pcm格式的博客數不勝數,讓你的java后臺去看百度語音api獲取token順便將轉換后的pcm格式給轉換成文字傳給前臺吧。

  是不是百度一大堆的配置和前端沒有關系了~

  松了一口氣~好強的前端當然可以拿到后臺傳輸過來的pcm文件地址再去調百度api。

  選擇方式一跳過方式二,直接看再續。

   方式二:如果前端要去做的話,請看api詳解:

  地址://ai.baidu.com/docs#/ASR-API/top

  再續:這樣錄音后的mp3文件就被轉換成了文字。如果想要語音播放的功能,請繼續往下看~很簡單

  微信小程序api:

  wx.createInnerAudioContext(),地址:https://developers.weixin.qq.com/miniprogram/dev/api/createInnerAudioContext.html

   看參數;

?

  這里要的是src即是MP3的鏈接啊,我只拿到后臺穿過來的文字啊。

  對,百度語音合成API,不去百度官網看了,太簡單了,奉上:

  https://tsn.baidu.com/text2audio?tok=xxxx&cuid=867905025778863&ctp=1&spd=6&lan=zh&tex=xxxx;  tok:百度語音token, ?。?span>獲取請看額外篇)  text:你想要播報的文字。  這是一個完整的mp3鏈接,調用微信小程序api可直接播放。  額外:百度token的獲??;  

/*百度語音合成獲取token*/ export let getBaiDuToken=()=>{ return new Promise((resolve)=>{ wx.request({ url: "https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=xxxxxxxx&client_secret=xxxxxxxxxx", method:"GET", success: function(r){ resolve(r); }, fail(res){ wx.showToast({ title:"百度語音合成獲取token接口錯誤", icon:"none" }); } }) }); };

  這里的client_id和client_secret是注冊百度語音識別平臺在控制臺中創建應用獲取的。

?

  

文章評論

Top