我使用的服务是:语音识别(离在线融合)
首先,我按文档做了如下操作:
1、将开发包中的libs中的文件都复制到项目libs中,但编译时出错:
/libs/armeabi-v7a/libbd_easr_s1_merge_normal_20151216.dat.so: File format not recognized
删除这个包后编译成功。
2、修改AndroidManifest.xml,添加了权限和注册信息等。
3、代码片段:
import android.content.ComponentName;
import android.sax.StartElementListener;
import android.speech.SpeechRecognizer;
import android.speech.RecognitionListener;
import org.cocos2dx.lib.Cocos2dxJavascriptJavaBridge;
public class AppActivity extends Cocos2dxActivity implements RecognitionListener{
private static SpeechRecognizer speechRecognizer;
private static AppActivity app = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SDKWrapper.getInstance().init(this);
app = this;
// 创建识别器
speechRecognizer = SpeechRecognizer.createSpeechRecognizer(this, new ComponentName(this, VoiceRecognitionService.class));
// 注册监听器
speechRecognizer.setRecognitionListener(this);
}
// 开始识别
public static void startASR() {
if(speechRecognizer==null)
{
showTip("speechRecognizer is null");
return;
}
Intent intent = new Intent();
bindParams(intent);
speechRecognizer.startListening(intent); //到这里就卡住了
}
4、问题:执行speechRecognizer.startListening(intent); 没反应,手机也没有提示获取录音权限,按钮也卡死了。
请问我是哪里出问题了呢?
非常感谢支持使用百度语音~
已解决,需要在UI线程执行