Web MIDI API Port ID是单台设备唯一还是同型号设备通用?
MIDIPort.id 标识规则解答 两台独立的同型号Synth X硬件返回的MIDIPort.id互不相同,该字段是单物理设备实例级的唯一标识,并非由厂商+型号组合生成的型号级标识。
核心规则
- 属性维度区分
name、manufacturer为型号级属性:同型号所有硬件设备的这两个字段值固定一致,和你观察到的Synth X设备表现完全吻合。id为设备实例级属性:生成时绑定硬件自带的唯一识别信息(如USB设备的硬件序列号、蓝牙MIDI设备的唯一地址派生值),只要是不同的物理实体,即便型号、厂商完全相同,返回的id也不会重复。
- 稳定性边界
同一台物理MIDI设备在同一台主机、同一用户环境下反复插拔、重启,对应的id会保持稳定,不会随机变更;但该id不保证跨主机、跨操作系统全局一致,不同运行环境下同一硬件可能生成不同的id值,仅保证当前环境下所有已接入MIDI端口的id互不冲突。
所有符合Web MIDI API规范的实现,都必须保证不同物理设备实例的id可区分,不存在同型号设备共用相同id的合规实现。
内容的提问来源于stack exchange,提问作者kue
相关产品推荐
相关产品推荐

