TTS (Text to Speech)를 사용하여 명령을 내린 다음 음성 인식 의도를 사용하여 사용자의 음성 답변을 듣는 Android 앱을 개발했습니다.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();
}
아무도 해결책이 있습니까? 꽤 무작위 인 것 같습니다. 때로는 기다리지 만 때로는 그렇지 않습니다. 감사합니다! tts.isSpeaking()
는 여러 가지 이유로 쓸모가 사용