除非窗口是焦点,否则Firefox不会收集ICE候选人?

时间:2016-02-24 14:43:31

标签: firefox webrtc

我在Firefox中测试我的WebRTC应用程序,看起来Firefox没有收集ICE候选人,除非并且直到Firefox窗口成为焦点?!在同一台机器上使用两个独立的浏览器窗口时,其中一个显然始终不是最前面的窗口。日志告诉我,Firefox停止在它应该开始收集ICE候选者的位置,直到我明确地点击窗口使其成为焦点,此时开始候选人收集并且在建立连接之后不久。我可以在流程开始后随时切换窗口,它会成功完成;但窗口显然必须在过程开始时关注。

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

这是一种已知行为吗?这有什么理由,还是一个错误?

OS X El Cap上的Firefox 44.0.2

2 个答案:

答案 0 :(得分:3)

Firefox中的隐藏标签或窗口无法打开相机。我个人觉得有点安全。

即使您已选择"始终共享",在您对焦窗口之前,相机也不会激活。

从评论中可以看出这就是你的情况。

相比之下,this fiddle可以从两个标签中正常工作,因为只有用户按下按钮的页面(发送方)才能访问相机。

This code section intentionally left blank.

答案 1 :(得分:2)

没关系,它不是ICE候选者,除非Firefox是活动窗口,否则getUserMedia会阻止它。我的代码的异步性质使它不那么明显。这种行为显然是按设计进行的,并在此处进行了描述:https://bugzilla.mozilla.org/show_bug.cgi?id=1195654