【发布时间】:2014-06-18 05:22:13
【问题描述】:
在创建webkitSpeechRecognition 的实例后,了解用户是否允许麦克风访问的最佳方法是什么?
我想到的第一个想法是使用webkitSpeechRecognition:onstart 方法来更新本地状态引用:
var permission = false;
var recognition = new webkitSpeechRecognition();
recognition.continuous = true;
recognition.interimResults = true;
recognition.onstart = function() { permission = true; }
但这似乎是多余的,因为浏览器可能已经设置了全局只读值。
有什么想法吗?
【问题讨论】:
-
在创建之前检查权限是否有原因?
-
不是在创建之前,而是在用户接受之前,是的,主要是为了显示问题。接口将绑定到该值。我注意到当用户空闲时,权限可能会在没有 ssl 的情况下过期。我想现在最好的是使用
onstart和onstop事件。我更喜欢将其作为本地全局变量,因为现在它迫使我将此值发出到处理识别的范围之外。 -
这处理了几种情况。你的问题的解决方案不在这个吗?
-
是的,他们使用的是我在示例中展示的相同技术。所以我想这是要走的路...... :)
标签: javascript google-chrome webkit speech-recognition webspeech-api