当我使用默认驱动程序连接多个USB音频设备时,我通常会得到某种友好的设备描述,例如" nn- USB音频编解码器"或其它东西,所以我目前没有任何独特的属性,它指的是一个特定的硬件,例如制造商ID。我想确保在重新枚举或重新插入硬件到另一个端口的情况下,我的软件将自动识别映射到该硬件的已更改的Windows音频设备。我有可能收集更多可用于确定物理硬件的Windows音频设备信息吗?
可能需要一点澄清:
我有两个或更多USB音频设备,不一定是同一产品或制造商。音频连接有不同的用途,所以我想确保我的软件不断使用相同的物理音频设备来完成不同的任务。重新枚举时有时会失败(有时不更改物理USB端口连接,它是一个窗口事物......)
理想情况下,我会通过单个序列号来区分它们,这些序列号通常仅适用于存储设备。但我能找到的是"物理"当我使用Nir Sofer的USBDeview等工具查看设备时的USB拓扑。在那里,我有一个像" Hub 3,Port1"这样的房产。如果我可以将它映射到一个声音设备,我可以从音频音频api获得" nn- USB音频编解码器"如在声音控制面板中看到的那样,我会非常高兴。
Edit2:
可能这篇[1]帖子对此有帮助,但我仍然需要弄清楚如何获得USB端口< - > Windwos Sounddevice制图。
[1]:Can the physical USB port be identified programatically for a device in Windows?"