【问题标题】:SpeechRecognition not listening on ChromiumSpeechRecognition 不听 Chromium
【发布时间】:2020-10-29 18:30:18
【问题描述】:

我正在尝试通过使用 Puppeteer 打开一个 https URL 来构建一个 Javascript 机器人,我可以在其中收听麦克风并从浏览器中内置的 SpeechRecogniton API 输出脚本,下面的代码似乎在普通 Chrome 中记录了一些内容,但是在 Chromium 上,尽管 Modernizr 显然支持此功能,但我什么也没得到。我已允许麦克风权限,但我得到了一个无效的 console.log

window.SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition

const recognition = new SpeechRecognition()
recognition.interimResults = true

recognition.addEventListener('result', e => {
  const transcript = Array.from(e.results)
    .map(result => result[0])
    .map(result => result.transcript)
    .join('')

    // I get nothing logged here in Chromium
    console.log(transcript)
})

recognition.addEventListener('end', recognition.start)

recognition.start()

更新

添加以下...

recognition.addEventListener('error', function(event) { 
  console.log('Speech recognition error detected: ' + event.error);
});

我收到 Network 错误...但不知道在 Chromium 中该怎么办?

【问题讨论】:

  • 尝试将“onstart”、“onend”和“onerror”回调添加到“识别”对象。您很可能会看到“onerror”触发器。另外,检查 Edge 下的caniuse.com/speech-recognition
  • 是的,我刚刚试过这个,在 Chromium 的错误事件中得到一个错误键 Network?知道为什么吗?
  • 不确定为什么会是网络错误(我认为我的类型为:'not-allowed` 或类似的类型),但这无关紧要。在我发布的 caniuse 链接中,它说最新版本的基于铬的边缘不支持语音识别

标签: javascript speech-recognition puppeteer chromium


【解决方案1】:

Chromium 不再支持 SpeechRecognition。我认为这与 Google 希望人们使用他们的云服务有关。

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 2021-12-22
  • 1970-01-01
  • 1970-01-01
  • 2020-09-22
  • 1970-01-01
  • 1970-01-01
  • 2017-02-08
  • 2019-12-18
  • 1970-01-01
相关资源
最近更新 更多