enumerateDevices设备标签末尾(xxxx:xxxx)的含义及持久性咨询
设备标签末尾ID的相关问题解答
1. ID的含义
标签末尾像(0b0e:245e)这样的内容,是USB设备的VID(供应商ID)和PID(产品ID):
- VID是USB行业组织分配给硬件厂商的唯一标识,每个厂商的VID固定不变;
- PID是厂商给自己旗下不同产品分配的专属标识,同型号的设备PID完全一致。
这串ID是直接烧在硬件固件里的,用来让系统快速识别硬件型号。
2. 持久性
这个VID:PID是硬件级别的固定标识:
- 只要是同一台物理设备,不管换电脑、重装系统还是更新驱动,这串ID都不会变;
- 但要注意,同型号的另一台设备,VID:PID会和原设备一模一样,没法靠这串ID区分同型号的不同物理设备。
3. 存储最近使用设备的建议
如果想记录最近用的设备,靠标签存储要留意:
- 标签里的设备名称部分(比如“Headset Microphone”)可能因为系统语言切换、用户手动改名、驱动更新等原因变化;
- 标签里的VID:PID部分稳定可靠,但只能识别设备型号,没法区分同型号的不同设备。
更靠谱的方式是直接用enumerateDevices返回的MediaDeviceInfo对象里的deviceId属性——这是浏览器给每个物理设备生成的专属持久标识,只要用户不清除浏览器权限或设备相关缓存,就会一直保持一致,能精准识别具体的物理设备。
内容的提问来源于stack exchange,提问作者user3908730
相关产品推荐
相关产品推荐

