我正在改进一个使用 RecognitionListener 类来监听用户声音的 Android 应用程序,在这里我得到以下结果:
1-) 如果用户单击麦克风图标并说一切都很好 2-) 如果用户单击麦克风图标并再次单击麦克风图标或什么也没说,我得到onerror 并且错误类型是:ERROR_RECOGNIZER_BUSY
@Override
public void onError(int error) {
if ((error == SpeechRecognizer.ERROR_NO_MATCH)
|| (error == SpeechRecognizer.ERROR_SPEECH_TIMEOUT)){
}
else if(ERROR_RECOGNIZER_BUSY){
}
}
这是我开始收听的代码:
public void recognizeSpeechDirectly()
{
recognizer = SpeechRecognizer.createSpeechRecognizer(this.context);
recognizer.setRecognitionListener(this);
recognizerIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
recognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
recognizerIntent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, "org.twodee.andytest");
recognizerIntent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS, true);
recognizer.startListening(recognizerIntent);
}
我想在出现 ERROR_RECOGNIZER_BUSY 时重新开始收听,
另一个人在 stackoverflow 上告诉过这个错误,但我不清楚,也无法实现。
提前致谢