9

我正在开发的基于语音识别的应用程序适用于从 API 8(Android 2.2)开始的所有 Android 版本。

但在 Nexus S 4G (Android 4.1.1) 上,RecognitionListener 将简单地停止大约 1 分钟,然后通过其onError()回调发出 ERROR_SERVER 。

如果在1-2秒内(在onReadyForSpeech哔声之后)说话,它将按预期正常运行。

JellyBean 发生了什么变化可以解释这种行为?

更重要的是,有没有办法让它像旧版本的 Android 一样运行?(即继续听,如果在默认的10 秒内没有说话,则发出 ERROR_SPEECH_TIMEOUT )

4

2 回答 2

1

我最终使用了@scriptocalypse建议的解决方案

谢谢@scriptocalypse!

(我没有机会尝试@HoanNguyen建议的解决方案,因为它实现了一项超出我的小应用程序范围的服务,但它看起来很有希望。也谢谢@HoanNguyen。)

于 2013-03-25T19:30:01.277 回答
-2

这里有一个类似的帖子,提供了在收到 ERROR_TIMEOUT_SPEECH 结果时再次收听的建议。

于 2013-01-08T21:05:20.873 回答