2011-06-07 55 views
1

正如问题的声音。如何获取系统上的声卡列表?

有一个在HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet \控制\ DeviceClasses {6994AD04-93EF-11D0-A3CC-00A0C9223196}提供一个清单,但它显示了任何基于USB声卡作为USB Audio而非Plantronics Headset

在标签中列出的任何一种语言的解决方案都可以,但我无法使用WMI,所以没有了。

回答

1

您想要MMDevice API。或者这种API的this .NET wrapper

IMMDeviceEnumerator interface是你如何列举所有可用的多媒体设备。

+0

它看起来像Windows Vista或更高版本,除非我误读它。我需要一些能够在WinXP上运行的东西。 – AngryHacker 2011-06-07 16:34:27

+0

@AngryHacker:你正确地阅读它。声音/多媒体API从XP大幅改变为Vista。不幸的是,没有万能解决方案。 – 2011-06-07 16:35:25

+0

如果您需要XP的回退解决方案,则可以使用DirectX枚举音频设备:http://msdn.microsoft.com/en-us/library/ms804969.aspx – 2011-06-07 21:16:20