Javascript Opera中对webkitSpeechRecognition API的支持

Javascript Opera中对webkitSpeechRecognition API的支持,javascript,opera,webkitspeechrecognition,Javascript,Opera,Webkitspeechrecognition,我们在Chrome中使用webkitSpeechRecognition API。由于这是一个原型应用程序,我们很高兴只支持Chrome,因此我们通过执行window.hasOwnProperty('webkitSpeechRecognition')检查(as)来检测对API的支持。这在Firefox中失败了,但新的Opera(基于webkit)报告说它确实有这个属性。事实上,所有代码都按预期运行,除了。。。没有任何事件被触发,也没有声音被记录 所以,我的问题是:我能让它以某种方式工作吗?它是否需

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

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


或者,有没有一种方法(除了传统的浏览器嗅探)来检测webkitSpeechRecognition的正常工作支持?

目前只有google chrome有API到语音流识别(他们有google sppeech API)

如果您将在Opera上使用,它将告诉您需要Chrome25+来执行此操作

根据Opera的说法,webkit支持此功能,但目前它不起作用。Opera没有任何API服务可以即时对其进行翻译。现在他们的浏览器中只有占位符功能,也许将来他们会做到,对不对,它不起作用

*已编辑*

谷歌举例说明如何确定它是否工作

//谷歌查
如果(!(窗口中的“webkitSpeechRecognition”){
log('GOOGLE:不在此浏览器上工作');
}否则{
log('GOOGLE:working');
}
//你的方式
if(window.hasOwnProperty('webkitSpeechRecognition')){
log('YOUR:working');
}否则{
log(“您的:不在此浏览器上工作”);

}
以下Google示例使用时间戳检测Opera是否未触发启动事件:

是否找到浏览器嗅探的替代方法?我面临着同样的问题problem@OscarHermosilla不,很遗憾。这对我们来说并不重要,所以我看得不是很积极。但我很好奇,让我悬赏吧。我用的是Opera build 41.0.2353.69,演讲演示页面无法正常工作,没有告诉我任何事情。我笑了,caniuse.com怎么把它报道为“部分支持”,和Chrome一样。无论如何,有没有办法检测出它只是一个占位符函数?(为什么他们不干脆抛出一个异常或其他东西,而不是静静地死去呢?)webkitSpeechRecognition——试图找到默认的语音识别软件来工作。默认情况下,Chrome通过Chrome流式传输到google语音API来识别语音(这就是为什么有这么多语言可以识别的原因)。在移动设备上通常有语音识别软件,Opera在移动设备上应该可以工作,而在桌面上则不能工作。我希望这会有所帮助。我从谷歌演示页面添加了一个示例,非常类似于window.hasOwnProperty,但可能会有所不同,它在我的Chrome浏览器上检测到webkit,但在我的Opera 42中检测不到。我会被诅咒的,使用Opera 42.0.2393.85,我开始工作了。你不知道吗?奇怪的而且。。。不,我不认为hasOwnProperty或简单的属性检查会有什么不同。我使用的是Ubuntu 16.04.1、Opera 42.0.2393.85。我想也许你的操作系统上安装了一些语音识别软件,Opera可以看到。