Firefox 不收集 ICE 候选人除非 window 是焦点?

Firefox does not gather ICE candidates unless the window is in focus?

我正在 Firefox 中测试我的 WebRTC 应用程序,似乎 Firefox 不会收集 ICE 候选人,除非并且直到 Firefox window 成为焦点?!在同一台机器上使用两个独立的浏览器windows时,其中一个显然总是不在最前面window。日志告诉我,Firefox 在它应该开始收集 ICE 候选人的地方停滞不前,直到我明确单击 window 使其成为焦点,此时开始候选人收集并在建立连接后不久。我可以在进程启动后随时切换 windows,它会成功完成;但是 window 显然必须在流程开始时处于焦点位置。

在Chrome上没有这种行为,它总是聚集任何州的候选人。

这是已知行为吗?这样做有什么道理,还是一个错误?

OS X El Cap

上的 Firefox 44.0.2

没关系,它不是 ICE 候选者,它是 getUserMedia,除非 Firefox 是活动的 window。我的代码的异步特性使这一点不像它应该的那样明显。此行为显然是设计使然,并在此处进行了描述:https://bugzilla.mozilla.org/show_bug.cgi?id=1195654.

Firefox 中的隐藏选项卡或 windows 无法打开相机。就我个人而言,知道这一点我感觉更安全一些。

即使您选择了 "Always Share",相机也不会启动,直到您聚焦 window。

从评论来看,您的情况似乎就是这样。

相比之下,this fiddle 在两个选项卡中工作正常,因为只有用户按下按钮的页面(发送端)才能访问相机。

This code section intentionally left blank.