【问题标题】:DOMException: Could not start audio sourceDOMException: 无法启动音频源
【发布时间】: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


【解决方案1】:

检查您的 Android 应用是否具有所需的权限:

android.permission.RECORD_AUDIO
android.permission.MODIFY_AUDIO_SETTINGS (might be optional)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-09
    • 1970-01-01
    • 1970-01-01
    • 2020-12-30
    • 2017-05-16
    • 2019-05-09
    相关资源
    最近更新 更多