【发布时间】:2019-04-11 09:21:49
【问题描述】:
我已授予允许在我的域中使用麦克风的权限。我们在多个选项卡中使用我们的域。当我在同一个选项卡中访问时,我能够获取本地媒体(麦克风)。但是我无法在不访问该选项卡的情况下在另一个选项卡(同一域)中获取 WebRTC 的本地媒体。只有在访问该选项卡后才能获取本地媒体访问权限。
是为了安全和隐私而故意这样做的吗? .有什么办法可以解决我的问题吗?
原因:限制用于 WebRTC 会话的资源。我们将 WebRTC 会话保留在我们域的单个选项卡中,并且仅使用该资源对所有选项卡进行调用。
尝试将麦克风允许设置为 iframe 属性。但这并没有解决问题。不过,它在 GoogleChrome 浏览器中运行良好。如果我打开一个新选项卡(T1)并在其中启动 webrtc 并从另一个选项卡(T2)进行 webrtc 调用而不访问选项卡 T1 ,除非我访问 T1,否则呼叫会在 chrome 中连接,但不会在 firefox 中。
注意:在域中允许麦克风不是请求权限,它会自动获取它。只是它只有在我访问选项卡后才会获得。我已经授予了我的域的麦克风访问权限。
【问题讨论】:
-
这就是为什么,而且是故意的。你的用例是什么?你想监视谁? ;)
-
我们的应用程序中有 WebRTC 调用,由于某些限制,我们不能有超过 5 个连接。因此我们有一个连接并在选项卡之间共享它。假设用户打开了多个选项卡并从一个没有连接的选项卡发起呼叫,然后呼叫不会连接,直到用户访问有连接的选项卡。这里的问题是,用户不知道有连接的选项卡,因此可能根本不知道。
标签: javascript firefox webrtc media