已绑定手机
|
本帖最后由 springfall 于 2016-7-2 21:49 编辑
语音听写现在应用的很多,将语音转换成文本,实现机器理解人的自然语音,目前国际国内就语音理解这一部分很多大公司都在这手布局,IBM、google、微软、腾讯、阿里、百度、讯飞都在着手做语音项目,曾经有人说过现在的社会属于语音的时代,未来属于意识的时代。当然至于意识的时代啥时候到来现在我不敢随便预测但是语音的时代确实正在来临。而语音听些恰恰是智能语音的基础。本文是基于讯飞的Android语音开发--语音听写文章来源于http://blog.csdn.net/sz0268/article/details/51657243 这篇博客。
下面是详细文章内容:
语音听写是讯飞语音的一大组成部分,也是语音开发的一个主要部分。讯飞语音听写分为带ui界面的开发和不带ui界面开发,今天我们要说的是带ui界面的开发。
在开发之前我们需要将我们从讯飞语音开放平台下载的开发包中的几个部分分别放在Android项目对应位置。
我们把Msc.jar、liBMSc.so和ui文件分别放在lIBS和assets文件夹中,如下图:
1、libmsc.so文件和Msc.jar包放在libs中并把Msc.jar包加载进工作空间(这个又是后Eclipse会自动加载,如若不能自动加载就手动加载,加载方法在另一篇文献中android开发之.jar包加载)
2、ui界面文件加载将下载的文件包中的iflytek文件夹下的所有文件放在android工程下assets文件夹下面
3、把appid号写入string.xml文件中如下图,其结果如下(红色涂抹处为你自己申请的appid号)
4、添加工作权限,在AndroidManifest.xml文件中添加如下权限,(权限添加在<application>同级节点)如下图
以上步奏做完即为初始化预备已完成,下面开始重点代码:
//讯飞语音总入口
- <div>SpeechUtility.createUtility(MainActivity.this, SpeechConstant.APPID+"="+getString(R.string.app_id)); </div><div>
- </div>
复制代码 //创建带ui界面的听写对象,mInitlistener为初始化监听器
- RecognizerDialog recognizerDialog = new RecognizerDialog(MainActivity.this,mInitListener);
复制代码 //开始听写函数,mRecognizerDialogListener为听写监听器
- private void staRTSPeechListener(){
- 02.recognizerDialog.setParameter(SpeechConstant.LANGUAGE, "zh_cn");
- 03.recognizerDialog.setParameter(SpeechConstant.ACCENT, "mandarin");
- 04.recognizerDialog.setListener(mRecognizerDialogListener);
- 05.recognizerDialog.show();
- 06.}
复制代码
听写监听器
- * 听写监听器
- 03. * */
- 04.private RecognizerDialogListener mRecognizerDialogListener = new RecognizerDialogListener(){
- 05.
- 06.@Override
- 07.public void onError(SpeechError arg0) {
- 08.// TODO Auto-generated method stub
- 09.
- 10.}
- 11.
- 12.@Override
- 13.public void onResult(RecognizerResult result, boolean isLast) {
- 14.String text = JsonParser.parseIatResult(result.getResultString().toString());
- 15.Toast.makeText(MainActivity.this, text, Toast.LENGTH_SHORT).show();
- 16.
- 17.}
- 18.
- 19.};
复制代码 完整代码程序包下载地址:
链接:http://pan.baidu.com/s/1i4EcCD3 密码:u3wq
新的下载地址,更换res/values/strings.xml中appid号,换成在讯飞开发者申请的号
注意程序是在eclipse上开发的。
|
|