onBeginningOfSpeech()的文档说:
[called when] The user has started to speak.
但它没有说明这是麦克风识别(即本地)事件还是服务器识别事件(即需要谷歌语音服务器来确认语音开始).
我试图在the source code找到线索,但在某些时候我在服务,回调,界面之间迷失了…这不是一个简单的谁叫 – 谁 – 序列.
您是否碰巧知道onBeginningOfSpeech()是在本地执行(例如本地电路是否检测到RMS更改),还是必须前往Google服务器并获得“是/否”?
我知道语音识别本身可以访问谷歌的服务器,但它也是为onBeginningOfSpeech()完成的吗?
解决方法:
有趣的问题.出于好奇,我进行了一点测试.在示例应用程序中,我在onReadyForSpeech()中禁用了WiFi:
WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE); wifiManager.setWifIEnabled(false);
并观察发生了什么.果然,只要麦克风拾取了最轻微的噪音,就会调用onBeginningOfSpeech().它甚至不必是演讲.
所以@KevinJunghans的结论是正确的:onBeginningOfSpeech()不是由Google服务器决定或发起的.
总结以上是内存溢出为你收集整理的android – onBeginningOfSpeech()是在本地还是由服务器触发?全部内容,希望文章能够帮你解决android – onBeginningOfSpeech()是在本地还是由服务器触发?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)