相关疑难解决方法(0)

如何处理ERROR_RECOGNIZER_BUSY

在我的基于语音识别的应用程序中,我有时会收到ERROR_RECOGNIZER_BUSY.直觉上,这需要...... 重试,对吧?

问题是这个错误是非常无证的,所以很明显我有些问题可能是在该领域更有经验的人能够回答:

  1. 什么触发了这样的错误?它真的只是繁忙的服务器(在谷歌)?或者这也可以暗示我的应用程序中的错误?
  2. 在重试之前,我是否必须明确关闭/重新打开会话?
  3. 多久重试一次?每1秒一次?每5秒钟?其他?

我们非常欢迎您经验丰富的见解.谢谢.

android speech-recognition voice-recognition

25
推荐指数
1
解决办法
6282
查看次数

RecognitionListener.onError()会自动SpeechRecognizer.cancel()吗?

由于各种原因,我需要使用原始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错误:

  1. ERROR_NETWORK_TIMEOUT
  2. ERROR_NETWORK
  3. ERROR_AUDIO
  4. ERROR_SERVER
  5. ERROR_CLIENT
  6. ERROR_SPEECH_TIMEOUT
  7. ERROR_NO_MATCH
  8. ERROR_RECOGNIZER_BUSY
  9. ERROR_INSUFFICIENT_PERMISSIONS

由于文档不是非常详细地说明哪个错误取消了哪个错误,哪个没有取消,你是否根据自己的经验知道哪些错误需要在再次尝试之前进行清理(以及在何种程度上)SpeechRecognizer.startListening()

android speech-recognition voice-recognition

11
推荐指数
1
解决办法
5434
查看次数