C# NAudio 获取麦克风信息,解决设备名称显示不全的问题

本文介绍了两种方法在C#中使用NAudio库获取麦克风信息。方法一是通过WaveInCapabilities.GetCapabilities获取设备,但名称可能显示不全。方法二是利用MMDeviceEnumerator,能获取到完整设备名称,避免了名称被截断的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法一:WaveInCapabilities GetCapabilities(int devNumber)

该方法返回系统中可用的Wave-In设备

直观的表示,即返回系统中的麦克风设备,通过 WaveInCapabilities.ProductName 可查看到对应设备的名称

List<WaveInCapabilities> devices = new List<WaveInCapabilities>();
// 返回系统中可用的Wave-In设备数
int waveInDevices = WaveIn.DeviceCount;
for (int i = 0; i < waveInDevices; i++)
{
    devices.Add(WaveIn.GetCapabilities(i));
}

结果如图:该方法的结果有个问题就是,返回的麦克风名称显示不全,原因是,该方法底层调用window的api返回字符串的长度限制。

方法二:MMDeviceEnumerator

通过MMDeviceEnumerator类的方法发去获取系统设备集合,再经过筛选,提取到完整

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值