为了账号安全,请及时绑定邮箱和手机立即绑定

科大讯飞cordova插件填坑及api介绍

标签:
前端工具

项目要求语音合成,准备调用科大讯飞的cordova插件,百度仅有一篇有价值的参考文章(再吐槽下,百度搜索到各种复制的文章....),谷歌有2篇,但介绍不全,只用typescript列出api,没有api介绍,所以写下我的一点心得.

一.安装

基本按照参考文章中安装插件,但有三个坑

1.cordova版本需要6

执行cordova plugin add,一直安装报错,参考了一些文章后,怀着试试看的心情,把cordova降到了6,终于可以安装了!!!

2.缺少Sunflower.jar

我只需要语音合成功能,按照参考文章操作后


https://img1.sycdn.imooc.com//5d2d9daf0001df8306590257.jpg

image

在最后执行cordova plugin add 插件(cordova-plugin-IFlyspeech-master)本地路径,运行时提示缺少Sunflower.jar,这个是用于语音数据分析的包,我选择的是语音合成功能,没有这个包

然后再次进入科大讯飞选择开发统计下载sdk,将里面的Sunflower.jar放入libs文件夹中


https://img1.sycdn.imooc.com//5d2d9db4000127f707420435.jpg

image

3.用git bash安装无效,用windows的cmd安装生效

https://img1.sycdn.imooc.com//5d2d9db70001dc1507370308.jpg

image

如果有知道原因的还请指导!!

二.API介绍

安装插件成功后,全局变量xunfeiListenSpeaking就是科大讯飞提供的功能,打个log看看


https://img1.sycdn.imooc.com//5d2d9dcf00018c5c06220331.jpg

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>

https://img1.sycdn.imooc.com//5d2d9dd50001635b02200173.jpg

image

参考文章:https://www.cnblogs.com/dinglinjie/archive/2017/08/31/7458548.html



作者:BirdNiao
链接:https://www.jianshu.com/p/2eb6e1aa2cec


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消