科大讯飞cordova插件填坑及api介绍
2017-12-21 本文已影响157人
BirdNiao
项目要求语音合成,准备调用科大讯飞的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
参考文章:https://www.cnblogs.com/dinglinjie/archive/2017/08/31/7458548.html