gpt4 book ai didi

javascript - 本地媒体访问受限,直到用户与 Firefox 中的页面交互

转载 作者:行者123 更新时间:2023-11-29 10:56:45 25 4
gpt4 key购买 nike

我已在我的域中授予麦克风允许权限。我们在多个选项卡中使用我们的域。当我在同一个选项卡中访问时,我能够获取本地媒体(麦克风)。但是我无法在不访问该选项卡的情况下在其他选项卡(同一域)中获取 WebRTC 的本地媒体。只有在访问该选项卡后才能获取本地媒体访问权限。

是否有意为安全和隐私而做? .有什么办法可以解决我的问题吗?

原因:限制用于 WebRTC session 的资源。我们将 WebRTC session 保存在我们域的单个选项卡中,并且所有选项卡仅使用该资源进行调用。

尝试将麦克风设置为 iframe 属性。但这并没有解决问题。不过它在 GoogleChrome 浏览器中运行良好。如果我打开一个新选项卡 (T1) 并在其中启动 webrtc 并从另一个选项卡 (T2) 进行 webrtc 调用而无需访问选项卡 T1 ,除非我访问 T1 ,否则调用将在 chrome 中连接但不会在 firefox 中连接。

注意:在域中允许麦克风不是请求权限,它是自动获取的。只是它只有在我访问选项卡后才会获取。我已经授予了我的域的麦克风访问权限。

最佳答案

Is it intentionally done for Security & Privacy?

是的,这是为了防止后台标签随意打开摄像头或麦克风以监视用户。因为那令人毛骨悚然。我相信 Safari 的工作方式相同。

getUsermedia specification最近将此作为要求:

  • 步骤 6.1。 “用户代理必须等到当前设置对象的负责文档完全激活并获得焦点后才能继续下一步。”*

所以我预计 Chrome 会很快效仿。

Is there any way to solve my problem ?

那将大大破坏保证。

用户可以放心,只有当前聚焦的选项卡才能打开摄像头或麦克风。

If I open a new tab(T1) and initiate webrtc in it and make webrtc call from another tab (T2)without ever visiting the tab T1 , call is connected in chrome but not in firefox unless i visit T1.

这是一个 RTCPeerConnection connection 问题,它与 getUserMedia 是分开的。

解决方法是不阻止在麦克风访问时建立连接。

您没有理由不能先连接然后再添加麦克风。

或者提前拿到麦克风,稍后再连接。基本上,这两个 Action 不需要重合或相互阻挡。

关于javascript - 本地媒体访问受限,直到用户与 Firefox 中的页面交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55628991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com