如何从音频设备ID获取音频设备编号?

时间:2013-02-23 15:43:26

标签: c# audio device

有一个Windows窗体(C#)应用程序,它显示连接到系统的音频设备(Mic Combo和扬声器组合)列表。 用户可以选择他的输入设备(Mic)和输出设备(扬声器)偏好来说话和听到。还有另一个平台级代码(用C程序编写),它希望设备号可以播放并收听适当的设备。这是一个整数值(我们称之为Wave in和Wave out id)。更改Windows音频(I / O)设备优先级时,此设备编号值会有所不同。 现在,我的Windows窗体UI(C#)需要根据下拉选择(MIC /扬声器)将设备编号发送到平台代码(C语言)。

我能够使用以下方法在下拉列表中列出设备(设备名称和设备ID(GUID)) (DirectXSound / Microsoft Expression Encoder / Wmi查询)这些给了我独特的DeviceId(GUID)。但是我无法获得所选输入和输出音频设备的相应设备编号(整数值)。

是否有任何映射可以从设备ID(GUID)中获取设备号(整数)?

我搜索了很多并感到沮丧。

1 个答案:

答案 0 :(得分:0)

我相信这个链接会回答你的问题。答案的代码是用C ++编写的,但你应该可以很容易地将它移植出去。

Is it possible to relate the same audio device in different APIs?