讯飞语音识别和唤醒开发示例
最近需要用到讯飞的语音识别和语音唤醒的功能,就对这方面进行了一下简单研究。
本文帮助大家简单入门,并且提供几个代码示例给大家参考。
讯飞开发者网址:https://www.xfyun.cn/
讯飞的部分功能,如图:
本文只介绍一点语音相关的内容。如果需要可以看看。
一.创建自己的讯飞应用
这里需要先注册自己的讯飞账号。并且进行实名验证。
登陆后,看到右上角有个“控制台”的文本,点击进去,就可以创建我们的应用了。
输入应用的基本信息,如图:
创建自己的应用后,可以对自己的应用进行编辑,添加自己需要集成的功能,
如图:
创建的应用中有个属性APPID是在讯飞SDK初始化的时候需要用到的。下载的Demo中也有使用方法。
讯飞的功能是部分免费的,部分是体验的,有些是收费的。
比如,我这里添加了语言识别和语音唤醒功能,如图:
在后期是可以对自己的应用进行编辑,增加其他模块的功能的。
点击下载SDK,我们就可以进行讯飞的集成进行开发了。
二.讯飞集成开发
讯飞SDK下载后得到的文件,如图:
assets、res是一些资源文件
lib中是一些jar包和so库
sample是讯飞给我们提供的demo程序,这个很重要,如果是新手最好看看demo的代码参考开发
readme.txt是简单的注意事项
release.txt是一些版本的信息
wordlist.txt是自己设置的唤醒的关键字
我这里的SDK是集成了语音识别和唤醒功能的,但是我发现sample中有两个示例程序。
有一个demo是有唤醒功能代码的,另一个demo是没有唤醒功能代码的。
有唤醒功能代码的demo,资源文件缺少APPID.jet文件,这个文件在下载的SDK的res/ivw中,
需要复制到项目中的assets文件夹中,才能使用唤醒功能。
1.语音识别
主要控制的类
// 语音听写对象private SpeechRecognizer mIat;
这个类实例化后,进行参数配置,就可以调用start,stop,cancel等方法进行识别控制
这里讯飞语音不是等你说完在进行识别的,而是一边说,它会一边帮你识别,
所以讯飞默认情况是会在你不说话的时候自动结束识别。
讯飞的语音识别也是有两种形式的,一种是有讯飞自定义的对话框显示的形式,另一种是没有对话框显示的形式。
具体的控制逻辑可以参考demo。
2.唤醒
唤醒记得要复制对的APPID.jet到正确的位置,才能进行有效唤醒。
但是我参考讯飞demo写的代码,只有WakeDemo这个类的唤醒有效,另一个类OneShotDemo的类唤醒无效!
三.这里我把几个项目的代码发给大家参考:
下载地址:https://download.csdn.net/download/wenzhi20102321/10573210
里面的文件说明:
1.my文件夹
这个是我从讯飞开发者中下载的完整的SDK代码,里面包括讯飞提供两个demo代码和一些资源文件
2.XunfeiDemo.rar
这个是我自己根据讯飞SDK中的Demo开发的简单例子,
这个例子里面只开发了语音识别和简单唤醒的功能。
唤醒的关键字是:美女你好
3.MySpeech.rar
这个也是别人根据其他讯飞SDK的Demo开发的例子
里面没有开发唤醒功能,但是有其他比较多的功能实现。
4.里面还提供了两个apk文件,可以安装看看效果
这两个apk如果使用adb install 可能安装失败,因为是调试版本
需要使用adb install -t 才能安装成功