Firefox / Chrome - WebRTC mediaDevices.enumerateDevices() - 不同的结果

问题描述 投票:0回答:1

我的 Citrix 环境遇到问题。 我在同一网页上的 chromefirefox 中获得不同的视频和音频设备。我猜想 Chrome 会看到来自不同会话的网络摄像头或不再可用的网络摄像头。 有什么方法可以改变 Chrome 中的这种行为以获得与 Firefox 中相同的结果吗?

google-chrome firefox webrtc webcam citrix
1个回答
0
投票

在这里重新提出一个老问题,但我自己在 Citrix 环境中遇到了同样的问题。登录和退出 Citrix 会话时,EnumerateDevices 返回不同的设备 ID,即使本地设备根本没有更改。此页面上的输出向我证明这就是正在发生的事情。

https://jsfiddle.net/jib1/2r6z6ouc

var stream;
navigator.mediaDevices.getUserMedia({ audio:true })
.then(s => (stream = s), e => console.log(e.message))
.then(() => navigator.mediaDevices.enumerateDevices())
.then(devices => {
  console.log(JSON.stringify(devices));
})
.catch(e => console.log(e));

var console = { log: msg => div.innerHTML += msg + "<br>" };

我的问题是,这似乎只发生在 Citrix 内部,并且我确信我正在存储所有 chrome 数据,将缓存文件配置回会话之间的用户配置文件,包括 cookie 等。我们不会清除任何内容。因此,Citrix 在某种程度上应该为每次登录时重新生成这些设备 ID 负责。

有谁知道这个问题的解决方案,因为我有一个软件电话,它不会记住用户的设备选择,开发人员告诉我,这是因为 DeviceID 在注销/登录时发生变化。

感谢任何能够阐明这一点的人

© www.soinside.com 2019 - 2024. All rights reserved.