我正在编写一个 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*/
});
Run Code Online (Sandbox Code Playgroud)
但是,当从我的 Android 手机使用时,相同的代码始终会转到 catch 回调,并将以下内容写入控制台:
Failed: DOMException: Could not start audio source
Run Code Online (Sandbox Code Playgroud)
该网站询问我是否允许使用麦克风,当我进入网站设置时,它说允许使用麦克风和声音,这让我相信我已经很好地完成了用户交互部分。该网站通过 HTTPS 提供服务(已经解决了该问题),因此我相信这也不是问题。
本次测试中我使用的是小米 9 和 Chrome Chrome 86.0.4240.185。
我的第一直觉是我在这里做错了什么?如果是这样的话,怎么办?否则,我可以做什么来解决这个问题?
检查您的 Android 应用程序是否具有所需的权限:
android.permission.RECORD_AUDIO
android.permission.MODIFY_AUDIO_SETTINGS (might be optional)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5048 次 |
| 最近记录: |