在 C# 中获取声音设备的名称

Posted

技术标签:

【中文标题】在 C# 中获取声音设备的名称【英文标题】:Get the name of the sound devices in C# 【发布时间】:2013-06-11 20:32:59 【问题描述】:

我需要获取计算机声音驱动程序的名称。把它放在一个列表或字符串中。 我发现的只是“winmm.dll”的“int”返回方法,如“waveInGetDevCapsA”和“waveInGetDevCapsW”。

【问题讨论】:

【参考方案1】:

如果您想枚举音频设备,使用SlimDX 变得非常容易。但它需要在计算机中安装 DirectX。

例如,枚举音频捕获设备:

 DeviceCollection coll = DirectSoundCapture.GetDevices();
 foreach( DeviceInformation dev in coll ) 
    ...

 

枚举音频播放设备:

DeviceCollection coll = DirectSound.GetDevices();
   foreach( DeviceInformation di in coll ) 

   

DeviceInformation 类有一个Description 类型为string 的属性。它还具有 Guid 类型的 DriverGuid 属性,使您能够“选择”设备以执行音频捕获或播放(也可以通过 SlimDX 完成)。

编辑:使用 Winmm.dll 的方法 请在代码项目中查看以下entry。它仅使用 Winmm.dll 构建一个枚举器。

希望这会有所帮助!

【讨论】:

有效。非常感谢,但我需要使用原生 winmm.dll 方法或其他原生方式的东西。

以上是关于在 C# 中获取声音设备的名称的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中的录音设备上播放声音

使用 C# 在特定设备中播放声音

C#获取网络摄像头名称列表

获取设备声音输出的当前音量 - iOS

C#如何获取声音输入的名称

如何在 C# 中获取启用(媒体)设备的列表