【问题标题】:Error activating microphone in google Chrome在谷歌浏览器中激活麦克风时出错
【发布时间】:2020-03-02 03:19:25
【问题描述】:

我正在尝试启用麦克风以允许用户录制音频,但出现此错误:

未捕获的类型错误:无法读取未定义的属性“getUserMedia” 在激活麦克风

navigator.mediaDevices.getUserMedia({audio: true, video:false})
            .then(stream => {
                handlerFunction(stream, $audioSelect.siblings(".recordedAudio"));
                $(".record").prop("disabled", false);
            })

【问题讨论】:

  • 您好!为了让我们更好地帮助您,我认为了解您的 Google Chrome 版本会很有用。您也可以改为发布navigator.userAgent 的值。否则,我很确定 navigator.mediaDevices.getUserMedia 是 Chrome(和 Firefox,以及根据一个或其他标准化 Web API 的一些其他用户代理)提供的功能。
  • 版本 76.0.3809.132(64 位)

标签: javascript html google-chrome microphone


【解决方案1】:

从 Chrome 74 开始抓取 navigator.mediaDevices 需要安全上下文。

https://developer.mozilla.org/en-US/docs/Web/API/Navigator/mediaDevices

这意味着非https:// 请求将返回一个未定义的对象。

有关此更改的更多信息:https://w3c.github.io/mediacapture-main/#local-content

【讨论】:

  • 我相信你链接了错误的资源——MDN 没有说明如何处理来自不安全来源的脚本对mediaDevices 的访问。你要链接的是w3c.github.io/mediacapture-main/#local-content
  • 浏览器兼容性部分涵盖了有关安全上下文和 Chrome 版本控制的更改。您的链接实际上确实明确涵盖了更改,但不涵盖更改对其有效的浏览器。我会将这两个资源都包括在内作为编辑。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-16
  • 2015-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多