【发布时间】: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