4

有一个 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了很多,很沮丧。

4

1 回答 1

0

我相信这个链接会回答你的问题。答案的代码是用 C++ 编写的,但您应该能够相当容易地将其移植出来。

是否可以在不同的 API 中关联相同的音频设备?

于 2013-03-17T17:19:32.813 回答