WebRTC enumerateDevices API设备列表是否固定顺序及修改方法咨询
WebRTC摄像头设备列表的来源与顺序调整方案
设备列表的来源
WebRTC在Chrome浏览器中获取摄像头列表时,直接调用Windows系统的Media Foundation API(旧版Chrome可能用DirectShow)枚举视频捕获设备。列表的固定顺序完全由系统的设备枚举逻辑决定,和你在网页中切换摄像头的操作无关——系统枚举设备时,会优先按硬件总线的识别顺序(比如内置摄像头通常被优先识别)、设备安装的先后顺序来排序,浏览器只是原样返回系统提供的列表,不会自行调整顺序。
能否通过注册表调整顺序?
可以,通过修改Windows注册表调整系统枚举设备的优先级,就能改变Chrome中WebRTC的摄像头列表顺序,具体步骤如下:
- 打开注册表编辑器:按下
Win+R组合键,输入regedit并回车。 - 定位到视频捕获设备的注册表路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Video\Capture - 该路径下的每个子项对应一个摄像头设备,子项名称为设备的GUID。点击每个子项,查看右侧面板的
FriendlyName值,确认哪个是你需要调整顺序的设备。 - 选中目标设备的子项,右键选择「新建」→「DWORD(32位)值」,将其命名为
Order。 - 双击
Order值,选择十进制输入数值:数值越小,设备在枚举列表中的位置越靠前。例如将优先显示的摄像头设为1,其他设备依次设为2、3等。 - 修改完成后重启电脑,Chrome中WebRTC页面的摄像头列表顺序就会同步更新。
注意事项
- 修改注册表存在系统风险,操作前建议备份注册表或创建系统还原点。
- 部分笔记本厂商的定制驱动可能会锁定设备枚举顺序,这种情况下注册表修改可能无效,尝试更新驱动或联系厂商获取解决方案。
内容的提问来源于stack exchange,提问作者Taylor Yi
相关产品推荐
相关产品推荐

