15

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

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

或者,有没有办法(除了好的旧浏览器嗅探)来检测对 webkitSpeechRecognition 的正确、有效的支持?

4

2 回答 2

5

现在只有 google chrome 有通过流进行语音识别的 API(他们有 google sppeech API)。

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

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

*已编辑*

谷歌示例如何确定它是否工作。

// 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');
}

于 2016-12-14T15:46:09.427 回答
1

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

于 2018-03-24T11:30:40.017 回答