專案要求語音合成,準備呼叫科大訊飛的cordova外掛,百度僅有一篇有價值的參考文章(再吐槽下,百度搜尋到各種複製的文章....),谷歌有2篇,但介紹不全,只用typescript列出api,沒有api介紹,所以寫下我的一點心得.
一.安裝
基本按照參考文章中安裝外掛,但有三個坑
1.cordova版本需要6
執行cordova plugin add,一直安裝報錯,參考了一些文章後,懷著試試看的心情,把cordova降到了6,終於可以安裝了!!!
2.缺少Sunflower.jar
我只需要語音合成功能,按照參考文章操作後
在最後執行cordova plugin add 外掛(cordova-plugin-IFlyspeech-master)本地路徑,執行時提示缺少Sunflower.jar,這個是用於語音資料分析的包,我選擇的是語音合成功能,沒有這個包
然後再次進入科大訊飛選擇開發統計下載sdk,將裡面的Sunflower.jar放入libs資料夾中
3.用git bash安裝無效,用windows的cmd安裝生效
如果有知道原因的還請指導!!
二.API介紹
安裝外掛成功後,全域性變數xunfeiListenSpeaking就是科大訊飛提供的功能,打個log看看
經過個人實踐:
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>
複製程式碼
參考文章:www.cnblogs.com/dinglinjie/…