有一个 Windows 窗体 (C#) 应用程序显示连接到系统的音频设备(麦克风组合和扬声器组合)列表。用户可以选择他的输入设备(麦克风)和输出设备(扬声器)偏好来说话和听。还有另一个平台级代码(用 C 程序编写),它期望设备号播放和收听适当的设备。这是一个整数值(我们称之为 Wave in 和 Wave out id)。此设备编号值会随着 windows 音频 (I/O) 设备优先级的更改而变化。现在我的 Windows 窗体 UI(C#)需要根据下拉选择(麦克风/扬声器)将设备编号发送到平台代码(C 语言)。
我能够使用以下方法(DirectXSound / Microsoft Expression Encoder / Wmi 查询)在下拉列表中列出设备(设备名称和设备 ID(GUID))这些给了我唯一的 DeviceId(GUID)。但是我无法获得相应的所选输入和输出音频设备的设备号(整数值)。
是否有任何映射可以从设备 ID(GUID)获取设备编号(整数)?
我google了很多,很沮丧。