在我的基于语音识别的应用程序中,我有时会收到ERROR_RECOGNIZER_BUSY.直觉上,这需要...... 重试,对吧?
问题是这个错误是非常无证的,所以很明显我有些问题可能是在该领域更有经验的人能够回答:
我们非常欢迎您经验丰富的见解.谢谢.
由于各种原因,我需要使用原始SpeechRecognizerAPI而不是更简单的RecognizerIntent(RECOGNIZE_SPEECH)活动.
这意味着,除其他外,我需要处理RecognitionListener.onError()自己.
为了回应一些错误,我只想重新开始听.这看起来很简单但是当我只是调用SpeechRecognizer.startListening()错误时,这有时似乎会触发两个不同的错误:
ERROR/ServerConnectorImpl(619): Previous session not destroyed
Run Code Online (Sandbox Code Playgroud)
和
"concurrent startListening received - ignoring this call"
Run Code Online (Sandbox Code Playgroud)
在尝试SpeechRecognizer.startListening()再次打电话之前,我应该做一些清理工作.
如果这是真的,则意味着在RecognitionListener错误时,不会自动停止和/或取消侦听.
某些错误也可能会停止/取消收听,而其他错误则不会.实际上只有9个SpeechRecognizer错误:
由于文档不是非常详细地说明哪个错误取消了哪个错误,哪个没有取消,你是否根据自己的经验知道哪些错误需要在再次尝试之前进行清理(以及在何种程度上)SpeechRecognizer.startListening()?