Google确实在搜索更新中悄悄地启用了脱机识别,但是(到目前为止)在SpeechRecognizer类. {见此帖子底部的编辑]该功能没有额外的编码,但是用户的设备需要正确的配置才能开始工作,这就是问题所在,我可以想象为什么很多开发人员认为他们“缺少了什么东西”。
此外,由于硬件的限制,谷歌已经限制了某些JellyBean设备使用离线识别。这适用于哪些设备没有文档化,事实上,没有任何文档记录,因此为用户配置功能已经证明是一个尝试和错误的问题(对他们)。它对一些直接有效-对那些它没有,这是我提供给他们的“指南”。
- 确保默认的Android语音识别器设置为Google,而不是三星/Vlingo
- 从GoogleVoiceSearchSettings卸载已经安装的任何脱机识别文件
- 转到Android应用程序设置,看看是否可以卸载Google搜索和GoogleVoiceSearch应用程序的更新。
- 如果你不能这样做,去玩具店看看你是否有选择在那里。
- 重新启动(如果实现了2、3或4)
- 更新谷歌搜索和谷歌语音搜索从游戏商店(如果你达到3或4,或如果更新是可用的)。
- 重新启动(如果达到6)
- 安装英国脱机语言文件
- 重新启动
- 使用
说出来!
有联系 - 切换到飞机模式,试一试
- 一旦它开始工作,离线识别其他语言,如英语,美国也应该开始工作。
编辑:暂时将设备区域改为英语,英国似乎也启动了这对一些人的工作。
一些用户报告说,在它开始工作之前,他们仍然需要重新启动很多次,但是他们最终都到了那里,通常是莫名其妙地知道触发器是什么,其中的关键就在谷歌搜索APK,所以不属于公共领域或部分AOSP.
据我所知,Google在决定是使用离线识别还是在线识别之前,会测试连接的可用性。如果连接最初可用,但在响应之前丢失,则Google将提供连接错误,不会回到脱机状态。另外,如果已经提出了对网络合成语音的请求,如果失败,则没有提供错误-您将保持沉默。
谷歌搜索更新现在不启用谷歌的其他功能,事实上,如果你试图在没有互联网连接的情况下使用它,它就会出错。我之所以提到这一点,是因为我想知道这种能力是否会像看起来那样悄悄地被撤回,因此在生产中不应该依赖。
如果您打算开始使用SpeechRecognizer类,请注意,有一个很好的大虫关联到它,这需要您自己的实现来处理。
自api级别23以来,添加了一个新参数。额外喜欢离线谷歌识别服务似乎确实坚持了这一点。
希望上面的内容能有所帮助。