支持Opera中的webkitSpeechRecognition API

时间:2016-04-20 10:52:59

标签: javascript opera webkitspeechrecognition

我们在Chrome中使用了webkitSpeechRecognition API。由于这是一个原型应用程序,我们非常乐意仅支持Chrome,因此我们通过window.hasOwnProperty('webkitSpeechRecognition')检查(suggested by Google)来检测对API的支持。这在Firefox中很快失败,但是新的Opera(基于webkit)报告它确实拥有该属性。事实上,所有代码都按预期运行,除了......没有任何事件被触发,也没有记录任何语音。

所以,我的问题是:我可以以某种方式使它工作吗?它需要一些特殊权限或设置吗?

或者,是否有一种方法(除了良好的旧浏览器嗅探)来检测webkitSpeechRecognition的正确工作支持?

2 个答案:

答案 0 :(得分:6)

目前只有谷歌浏览器有流媒体识别API(他们有谷歌sppeech API)。

如果您在Opera上使用https://www.google.com/intl/en/chrome/demos/speech.html,它会告诉您需要Chrome25 +才能执行此操作。

根据http://caniuse.com/#feat=speech-recognition Opera webkit支持此功能,但现在它无效。 Opera没有任何可以即时翻译的API服务。现在只有占位符功能在他们的浏览器中,也许将来他们会成功,不管它不起作用。

*已编辑*

google如何确定其是否正常工作的示例。



// checking by google
if (!('webkitSpeechRecognition' in window)) {
  console.log('GOOGLE: not working on this browser');
} else {
  console.log('GOOGLE: working');
}

//your way
if (window.hasOwnProperty('webkitSpeechRecognition')) {
  console.log('YOUR: working');
} else {
  console.log('YOUR: not working on this browser');
}




答案 1 :(得分:0)

以下Google示例使用时间戳来检测Opera未触发启动事件:https://www.google.com/intl/en/chrome/demos/speech.html