1

我已经实现了 RecognizerIntent 并调用了谷歌的语音识别服务,它工作正常,我得到了结果。但是,有时如果我喃喃自语或离我的设备太远,我会收到消息“没听清。再试一次。” 信息。有没有办法绕过这个而不显示这个消息,因为我不希望用户必须按 OK 才能继续?

谢谢

4

1 回答 1

0

如果您想控制 UI,请使用SpeechRecognizer 。

如果我理解正确,那么您正在启动RecognizerIntent,这将由 Google 搜索应用程序(或 Google 语音搜索,或当前碰巧调用的任何活动)中的一项活动处理。现在,由于这是一个活动,它接管了 UI,即它弹出一个对话框,显示一个提示和一个 VU 表等。如果出现错误情况,它原则上可以通过发送将控制权返回给您的应用程序错误代码之一,例如RESULT_NO_MATCH(如文档所示),但它选择不这样做。相反,它会弹出一条“重试”消息。返回活动的唯一方法是按 BACK,或希望识别成功。

如果您想控制更多的用户体验,请使用SpeechRecognizer。这样您就可以调用服务,然后通过回调与它进行交互。您将完全控制 UI。或者几乎,例如谷歌应用程序在识别开始时会发出哔声,并且没有办法将其关闭并提供您自己的哔声。

请注意,这个答案是谷歌语音识别服务的特定(特定版本),它不是 Android 本身的一部分。它实现了RecognizerIntent/ SpeechRecognizerAPI 的一部分,但它的不同版本在 API 覆盖范围和它们的确切行为方面有所不同。所以这个答案将来可能会出错。

于 2013-02-06T21:45:00.570 回答