科大讯飞开放平台语音听写接口使用教程
最近在做毕设项目中,要用到一个语音识别的功能,主要目的是把用户说的话转换成文字,然后再做其他处理。找了多个语音识别的第三方SDK,比如百度语音识别、微信语音识别、科大讯飞语音识别,发现科大讯飞的比较好用。做了一个Demo程序,有详细的注释,在这里整理一下。
(一)准备工作
0、创建一个空的Android项目,比如项目名叫:SpeechRecognitionDemoJYJ。
1、首先要在科大讯飞开放平台(http://www.xfyun.cn/)上注册,或者用QQ等第三方登录也行。
2、点击网站首页右上角的"控制台",进入控制台。
3、按照说明创建一个应用,该应用名就叫SpeechRecognitionDemoJYJ,创建成功后会有一个AppID,记下来,编程的时候要用到。
4、点击SpeechRecognitionDemoJYJ后面的"开通服务"按钮,开通服务—》语音听写,进入语音听写—》下载当前应用对应的SDK。
5、下载Android版的SDK,将SDK包中libs目录下的Msc.jar和armeabi复制到Android工程的libs目录(如果工程无libs目录,请自行创建)中,并且因为还要用到语音听写Dialog,所以还要把SDK包中assets目录下的iflytek文件夹复制到工程的assets目录下,如下图所示。还要注意,每个不同的应用都要申请不同的AppID,并且要分别下载不同AppID对应的SDK,否则会出错。
6、其他更详细的说明和资料可以参看讯飞开放平台的资料库(http://www.xfyun.cn/doccenter)。
(二)开发
Demo实现的功能很简单,就是点击一个按钮,弹出语音识别Dialog窗口,说话,说完了点击Dialog窗口后会把自动识别的文字结果显示在下方的EditText中。服务器返回的语音听写的结果是Json格式数据,最后还要对Json数据进行解析(具体解析方法参看我的这篇文章:用GSON解析Json格式数据),解析出语音字符串。
1、XML代码:
界面中有一个按钮,一个TextView和一个EditText,EditText用于显示语音识别的结果。
2、MainActivity
3、自定义的com.example.speechrecognition.DictationResult类的代码:
4、AndroidManifest.xml中申请权限:
5、测试:模拟器无法打开录音机,是不能在上面测试的,要用真机测试。测试结果如下图:
- 语音识别技术及厂商解析 智能家居的另一大入口?(07-12)
- 科大讯飞李繁:多生物特征融合认证能极大降低误识率(07-17)
- 锤子M1助科大讯飞上头条 语音识别蓝海将到?(09-20)
- 科大讯飞/百度/微软发力语音识别 潜力无限?(09-21)
- 以核心技术为源头,创造一个AI混合的商业生态(05-30)
- 科大讯飞:做机器人,定位比数据更重要(07-17)