【问题标题】:getUserMedia audio not working as expectedgetUserMedia 音频未按预期工作
【发布时间】:2020-04-04 21:49:04
【问题描述】:

我正在尝试使用 getUserMedia 将用户的麦克风连接到内部节点。 我已经在https://webrtc.github.io/samples/src/content/getusermedia/audio/ 尝试了 Google 示例,它在 Chrome 中运行良好。 然后我下载了源代码并在我自己的网站上进行了尝试。现在不行了!页面呈现,但音频不播放。网址是http://www.rwilson.org.uk/webrtc/src/content/getusermedia/audio/

控制台消息是“Uncaught TypeError: Cannot read property 'getUserMedia' of undefined 在 main.js:36" 那行是:

navigator.mediaDevices.getUserMedia(constraints).then(handleSuccess).catch(handleError);

我怎样才能知道发生了什么? 这是否表明我的网站存在问题(可能是安全问题)?

新信息:我现在已经从我的 localhost 运行了 Google 示例代码(在我的 Chromebook 上运行,带有用于 Chrome 的 Web 服务器),并且可以正常工作。 所以问题一定出在我自己的(托管)服务器上。不知道该怎么做!

【问题讨论】:

    标签: webrtc getusermedia


    【解决方案1】:

    如果当前文档没有安全加载,navigator.mediaDevices 将是undefined,并且您不能使用 getUserMedia()。

    来源MediaDevices.getUserMedia()

    【讨论】:

    • 明白。您的消息来源说“getUserMedia() 是一个强大的功能,只能在安全上下文中使用;在不安全的上下文中,navigator.mediaDevices 未定义,阻止访问 getUserMedia()。简而言之,安全上下文是使用 HTTPS 加载的页面或 file:/// URL 方案,或从 localhost 加载的页面。”我认为我的网站是安全的——它是通过 https 加载的。那么接下来我该往哪里看呢?
    • 检查window.isSecureContext 是否同意您对安全的看法
    • @keble 您共享的链接不安全。我检查了一下,它不是 HTTPS。
    • 谢谢 - 我会与我的网站主机核实
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-11
    • 1970-01-01
    • 2021-06-04
    • 2022-01-24
    • 2015-05-11
    • 2020-05-15
    相关资源
    最近更新 更多