首页 > 解决方案 > navigator.mediaDevices.getUserMedia 无法解析

问题描述

我发现,只有在选项卡处于活动状态或单击选项卡实例时,Firefox 中的 getUserMedia Promise 才会解决:(Firefox,81.0)

navigator.mediaDevices.getUserMedia({ audio: true}).then(() => console.log("done"))

否则,Promise 永远不会解决或拒绝。它在我看来就像一个错误。

我只在 Firefox 中看到过这种行为。Safari 和 Chrome 运行良好。我也玩过 about:config 中的媒体设置,但没有任何帮助

在我的测试中,我已经永久接受了音频许可。

谢谢

(编辑):附加信息: Firefox 在 about:config media.block-autoplay-until-in-foreground 中有设置。但此设置不会改变行为。也许应该?

(编辑 2020-12-10:Mozo 上的相关论坛帖子;;论坛: https: //support.mozilla.org/en-US/questions/1307318

(解决了)

可以通过访问来绕过严格的媒体政策

about:prererences -> Security -> Autoplay 

这提供了禁用自动播放阻止或将启用自动播放的网站列入白名单的可能性,并可以播放背景选项卡/Windows 的媒体。

编辑 (2020-12-01)

经过一些测试和调查,我发现使用自动播放可以在非焦点的 Firefox 选项卡/窗口中播放音频。但遗憾的是,对于 WebRTC/SIP,仍然无法绕过严格的政策。Promise 仍然没有解决。

标签: firefoxmediapolicygetusermediaautoplay

解决方案


推荐阅读