应用场景是离在线语音识别V2.1.20
1.集成百度语音识别demo后一直处于麦克风启动中
原因1:无法加载百度语音识别的so库
应用中会使用其他依赖库,例如用AS用了
compile 'pl.droidsonroids.gif:android-gif-drawable:1.2.2'
这个依赖库中包含了好几个平台的so,所以加载非armeabi平台时会找不到so,所以用gradle依赖时要注意,如图(遇到此种情况请重新打包生成依赖包)
原因2:麦克风被其它应用占用
请检查是它应用是否占用麦克风或者麦克风权限是否打开
2.ErrorCode为5 ERROR_CLIENT 客户端调用错误
解决方法:不要在 onResults中直接调用speechRecognizer.startListening
或者speechRecognizer.stopListening,因为上一轮识别没有完全结束
3.怎样实现识别有结果后实现新一轮的监听
怎样在onResults后实现新一轮的监听,解决方案如下:
new Handler().postDelayed(new Runnable() {
public void run() {
mBaiduSpeechUtil.startRecog();
}
}, 2000);
4.最后附上V2.1.20语音识别示例,语音识别采用util的形式,调用方法很简单
BaiduSpeechUtil mBaiduSpeechUtil = null;
mBaiduSpeechUtil = new BaiduSpeechUtil(this, new RecogResultListener() {
@Override
public void onRecogSuccess(final String result) {
Log.i(TAG, "recogResult" + result);
// 延迟开启,等待上个识别进程结束
new Handler().postDelayed(new Runnable() {
public void run() {
mBaiduSpeechUtil.startRecog();
}
}, 2000);
}
@Override
public void onRecogFailure(String error) {
Log.i(TAG, "error:" + error);
}
});
mBaiduSpeechUtil.startRecog();