Mic*_*hao 17 google-chrome voice-recognition google-chrome-extension
谷歌Chrome扩展程序是否支持Chrome的网络语音识别API?我已经包含了一些javascript来创建语音识别对象,但是当我启动扩展时,我不会被提示进行麦克风访问.
这不是我的代码的问题.我在谷歌搜索过,但是我找不到有关Chrome扩展是否支持Web Speech API的任何信息.我只想要一个是/否答案.
注意:我相信WebSpeech API不适用于本地文件.
Rob*_*b W 15
该网络语音API 可以已经通过Chrome扩展可以使用,甚至在后台页面和延伸按钮弹出.它工作的事实不一定是预期的功能,我之前已经解释了它是如何工作的以及为什么它在如何使用webrtc insde google chrome扩展的答案中有效?.前面的解释是关于WebRTC,但它同样适用于Web Speech,可以使用如下:
webkitSpeechRecognition实例并开始录制.onerror被触发event.error === 'not-allowed'),请打开扩展页面(chrome-extension://[ID]/yourpage.html).可以在新窗口,选项卡或iframe中打开此扩展页面.在此页面中,请求访问麦克风.getUserMedia和SpeechRecognition都共享(持久)音频权限,因此要检测是否允许录音,您可以使用getUserMedia请求权限而不激活语音识别.例如:
navigator.webkitGetUserMedia({
audio: true,
}, function(stream) {
stream.stop();
// Now you know that you have audio permission. Do whatever you want...
}, function() {
// Aw. No permission (or no microphone available).
});
Run Code Online (Sandbox Code Playgroud)aps*_*ers 12
更新:根据RobW的回答,这个答案现已过时,Web Speech API现在可以在扩展中使用.(不幸的是,除非OP不接受,否则我无法删除此答案.)
答案还没有.通过chrome-extension:URL 访问的页面无法访问任何媒体输入API,包括speechRecognition和getUserMedia.任何使用API的尝试都会立即触发错误回调.
我原本认为speechRecognition可以像geolocationAPI 一样工作:扩展弹出窗口无法提示地理位置权限,但是chrome-extension:作为完整浏览器页面加载的页面可以像普通页面一样提示权限.但是,媒体API不会这样做 ; 无论页面是弹出窗口还是整页,它们都会失败.
有一个错误报告可以解决此问题,并允许开发人员在清单中指定媒体访问权限.修复此错误后,扩展程序可以拥有一个清单设置权限,授予它们自动麦克风/视频访问权限,因此无法提示权限将成为非问题(因此具有相应清单权限的扩展程序将能够自由使用Speech API).
| 归档时间: |
|
| 查看次数: |
2971 次 |
| 最近记录: |