科大訊飛cordova語音外掛填坑及api介紹

BIRD發表於2018-12-08

專案要求語音合成,準備呼叫科大訊飛的cordova外掛,百度僅有一篇有價值的參考文章(再吐槽下,百度搜尋到各種複製的文章....),谷歌有2篇,但介紹不全,只用typescript列出api,沒有api介紹,所以寫下我的一點心得.

一.安裝

基本按照參考文章中安裝外掛,但有三個坑

1.cordova版本需要6

執行cordova plugin add,一直安裝報錯,參考了一些文章後,懷著試試看的心情,把cordova降到了6,終於可以安裝了!!!

2.缺少Sunflower.jar

我只需要語音合成功能,按照參考文章操作後

image

在最後執行cordova plugin add 外掛(cordova-plugin-IFlyspeech-master)本地路徑,執行時提示缺少Sunflower.jar,這個是用於語音資料分析的包,我選擇的是語音合成功能,沒有這個包

然後再次進入科大訊飛選擇開發統計下載sdk,將裡面的Sunflower.jar放入libs資料夾中

image

3.用git bash安裝無效,用windows的cmd安裝生效

image

如果有知道原因的還請指導!!

二.API介紹

安裝外掛成功後,全域性變數xunfeiListenSpeaking就是科大訊飛提供的功能,打個log看看

image

經過個人實踐:

1.pauseSpeaking(),resumeSpeaking(),在語音播報的時候暫停和回覆
2.startListen(成功回撥,失敗回撥,播報內容)
3.startListen,stopListen,應該是語音識別為文字,未測試
4.stopSpeak(),此次語音播放結束,不能用resumeSpeaking()回覆,下次語音正常播放

三.關閉語音功能

科大訊飛的外掛並沒有提供關閉語音播報功能.做了一個toggle,關閉時voiceStatus = false;當false時則不執行window.xunfeiListenSpeaking.startSpeak(suc,fail,content),完成一鍵關閉語音功能

<span>語音助手</span>
<label class="toggle voice" >
  <input type="checkbox" ng-checked="voiceStatus" ng-model="voiceStatus">
  <div class="track">
   <div class="handle"></div>
  </div>
</label>
複製程式碼

image

參考文章:www.cnblogs.com/dinglinjie/…

注:此篇文章於一年前發表於簡書,現遷移到掘金

相關文章