You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Citrix环境下Firefox与Chrome调用WebRTC enumerateDevices返回结果差异问题

根因说明

Citrix虚拟桌面环境下,Chrome默认的WebRTC设备枚举逻辑会拉取HDX重定向模块上报的所有历史挂载设备,包括其他会话残留、当前已断开的无效音视频设备;而Firefox默认仅枚举当前会话处于活跃可用状态的设备,因此会出现两者返回的mediaDevices.enumerateDevices()结果不一致的情况。

单客户端临时配置

  • 打开Chrome地址栏输入chrome://flags进入实验性功能配置页
  • 搜索WebRTC Hide Disconnected Audio Devices,将选项值从Default修改为Enabled
  • 搜索WebRTC Hide Disconnected Video Devices,同样修改为Enabled
  • 重启Chrome后配置生效

域/VDI批量部署配置

如果你需要在Citrix池化桌面中批量生效该配置,可通过Chrome ADMX组策略实现:

  • 导入对应Chrome版本的ADMX管理模板到域控或者本地组策略编辑器
  • 定位到路径:管理模板 → Google Chrome → 内容设置 → 配置WebRTC设备枚举规则
  • 启用该策略,在规则输入框中填入如下JSON配置:
{
  "hide_disconnected_audio_devices": true,
  "hide_disconnected_video_devices": true
}
  • 执行gpupdate /force刷新组策略,重启Chrome后生效

验证方法

在授权过音视频权限的页面打开Chrome开发者工具控制台,执行以下代码即可查看当前枚举的设备列表:
navigator.mediaDevices.enumerateDevices().then(devs => devs.forEach(d => console.log(d.kind, d.label)))
确认返回的设备列表已经过滤无效设备,和Firefox返回结果一致。

兼容说明

如果配置后仍存在无效设备,建议将Citrix HDX RealTime Optimization Pack升级到2.9及以上版本,同时使用Chrome 110及以上正式版,避免旧版本驱动适配问题导致的设备重复上报。

内容的提问来源于stack exchange,提问作者Torsten

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 07:36:04