我正在开发的基于语音识别的应用程序适用于从API 8(Android 2.2)开始的所有Android版本。
但是在Nexus S 4G(Android 4.1.1)上,RecognitionListener将暂停约1分钟,然后通过其onError()回调发出ERROR_SERVER。
如果在 1-2 秒内(onReadyForSpeech哔哔声)说话,它将按预期正常运行。
JellyBean中有什么变化可以解释这种行为?
更重要的是,有没有办法让它在旧版本的Android中表现得像? (即继续听,然后发出ERROR_SPEECH_TIMEOUT,如果没有在默认 10秒内说出话)
答案 0 :(得分:1)
我最终使用了@scriptocalypse
建议的解决方案谢谢@scriptocalypse!
(我没有机会尝试@HoanNguyen建议的解决方案,因为它实现的服务超出了我的小应用程序的范围,但看起来很有希望。谢谢@HoanNguyen。)
答案 1 :(得分:-2)
有一个similar post here提供了在收到ERROR_TIMEOUT_SPEECH结果后再次收听的建议。