我开发了一个Android应用程序,它使用tts(文本到语音)给出命令,然后使用语音识别意图来聆听用户的语音回答。语音识别意图在TTS结束讲话之前开始
显然,只有当tts说完时,才会引发语音识别的意图。 有时候,大部分时候我从一个活动转到另一个活动,或者当我通过一个按钮激活这个过程时,语音识别器在TTS结束之前就意识到了! 问题是,然后获取并分析命令的相同文本而不是用户的文字。告诉语音识别器等待的部分代码是:
while(tts.isSpeaking()){
//DOING NOTHING
}
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, "en-US");
try {
startActivityForResult(intent, RESULT_SPEECH);
} catch (ActivityNotFoundException a) {
Toast t = Toast.makeText(getApplicationContext(),"Opps! Your device doesn't support Speech to Text", Toast.LENGTH_SHORT);
t.show();
}
有没有人有解决方案?这似乎很随机。有时会等待,有时候不会。 谢谢大家!