Cordovacordova/phonegap我爱编程

科大讯飞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

上一篇下一篇

猜你喜欢

热点阅读