【发布时间】:2020-11-07 14:59:58
【问题描述】:
我正在编写一个 React 应用程序,我正在使用 Web Speech API 进行口语和语音识别。我编写了一些适用于桌面 Chrome 的代码。 我向用户请求许可的方式如下:
navigator.mediaDevices
.getUserMedia({ audio: true })
.then(function (stream) {
console.log('Succeeded');
/*Handle success*/
})
.catch(function (err) {
console.log('Failed: ', err)
/*Handle failure*/
});
但是,当在我的 Android 手机上使用时,相同的代码总是会转到 catch 回调,并将以下内容写入控制台:
Failed: DOMException: Could not start audio source
网站询问我是否允许使用麦克风,当我进入网站设置时,它说麦克风和声音都允许使用,这让我相信我已经很好地完成了用户交互部分。 该网站是通过 HTTPS 提供的(已经解决了这个问题),所以我相信这也不是问题。
在本次测试中,我使用的是小米 9 和 Chrome 86.0.4240.185。
我的第一直觉是我在这里做错了什么?如果是这种情况,那是什么? 否则,我该如何解决这个问题?
【问题讨论】:
-
曾经解决过这个问题吗?我遇到了同样的问题。
-
@swooby 不,放弃,对于当时的功能来说并不是最重要的。我的结论是,这个 API 在移动设备上还没有完全支持。不过可能是错的。
标签: webspeech-api