【发布时间】:2015-09-19 16:59:00
【问题描述】:
我遇到了 SpeechRecognizer 可以正确收听的问题,当我让它转到 SpeechRecognizer.ERROR_NO_MATCH 时,我下次收听时识别器立即无法到 SpeechRecognizer.ERROR_NO_MATCH。我第三次听将再次工作。有任何想法吗?下面的代码:此外,当错误代码为 SpeechRecognizer.ERROR_SPEECH_TIMEOUT 时也能正常工作,将在第二次正确收听。
@Override
public void onError(int error) {
switch (error) {
case SpeechRecognizer.ERROR_AUDIO:
showLog("ERROR_AUDIO");
endTimer();
break;
case SpeechRecognizer.ERROR_CLIENT:
showLog("ERROR_CLIENT");
endTimer();
break;
case SpeechRecognizer.ERROR_RECOGNIZER_BUSY:
showLog("ERROR_RECOGNIZER_BUSY");
endTimer();
break;
case SpeechRecognizer.ERROR_INSUFFICIENT_PERMISSIONS:
showLog("ERROR_INSUFFICIENT_PERMISSIONS");
endTimer();
break;
case SpeechRecognizer.ERROR_NETWORK_TIMEOUT:
showLog("ERROR_NETWORK_TIMEOUT");
endTimer();
break;
case SpeechRecognizer.ERROR_NETWORK:
sr.destroy();
showLog("ERROR_NETWORK");
endTimer();
break;
case SpeechRecognizer.ERROR_SERVER:
showLog("ERROR_SERVER");
endTimer();
break;
case SpeechRecognizer.ERROR_NO_MATCH:
showLog("ERROR_NO_MATCH");
break;
case SpeechRecognizer.ERROR_SPEECH_TIMEOUT:
showLog("ERROR_SPEECH_TIMEOUT");
break;
default:
assert false;
return;
}
}
【问题讨论】:
标签: android speech-recognition text-to-speech speech