科大讯飞 MSC( Mobile Speech Client,移动语音终端) Android 版 SDK 集成了
语音听写、语音识别、语音合成、 语义理解、 语音评测等接口的使用。
这里只针对语音听写部分做一点浅析。
首先,要导入科大讯飞的SDK。
就是MSC.jar这个包。
如果您的项目有 libs/armeabi-v7a 这个目录,请务必把 libmsc.so 复制一份到这个目录。
其次,在Manifest中加入用户权限。
<!--连接网络权限,用于执行云端语音能力 -->
<uses-permissionandroid:name="android.permission.INTER
<!--获取手机录音机使用权限,听写、识别、语义理解需
<uses-permissionandroid:name="android.permission.RECO
<!--读取网络信息状态 -->
<uses-permissionandroid:name="android.permission.ACCE
<!--获取当前wifi状态 -->
<uses-permissionandroid:name="android.permission.ACCE
<!--允许程序改变网络连接状态 -->
<uses-permissionandroid:name="android.permission.CHAN
<!--读取手机信息权限 -->
<uses-permissionandroid:name="android.permission.READ
然后,就是编写代码了。
初始化即创建语音配置对象,只有初始化后才可以使用 MSC 的各项服务。 建议将初始化放在程
序入口处(如 Application、 Activity 的 onCreate 方法), 初始化代码如下:
SpeechUtility.createUtility(MainActivity.this, SpeechConstant.APPID +"=558cc56a");
听写主要指将连续语音快速识别为文字的过程, 科大讯飞语音听写能识别通用常见的语句、词
汇, 而且不限制说法。 语音听写的调用方法如下:
mIat= SpeechRecognizer.createRecognizer(context, null);
//设置应用领域为读写
mIat.setParameter(SpeechConstant.DOMAIN, "iat");
//设置语音为中文
mIat.setParameter(SpeechConstant.LANGUAGE, "zh_cn");
//设置口音为普通话
mIat.setParameter(SpeechConstant.ACCENT, "mandarin ");
mIat.startListening(mRecoListener);//添加监听
//听写监听器
private RecognizerListenermRecoListener=new
RecognizerListener(){
//听写结果回调接口 (返回Json格式结果,用户可参见附录12.1);
//一般情况下会通过onResults接口多次返回结果,完整的识别内容是多次结果的累加;
//关于解析Json的代码可参见MscDemo中JsonParser类;
//isLast等于true时会话结束。
public void onResult(RecognizerResult results,booleanisLast)
{
Log.d("Result:",results.getResultString ());}
//会话发生错误回调接口
public void onError(SpeechError error) {
error.getPlainDescription(true)//获取错误码描述}
//开始录音
public void onBeginOfSpeech() {}
//音量值0~30
public void onVolumeChanged(intvolume){}
//结束录音
public void onEndOfSpeech() {}
//扩展用接口
public void onEvent(inteventType,intarg1,intarg2,
Bundle obj) {}
};
到这里,一个简单的语音交互程序就完成了。详细代码可以下载工程文件。
资源下载链接:http://download.csdn.net/detail/t03330130/8862755
<p>版权声明:本文为博主原创文章,未经博主允许不得转载。</p>