NAudio - 一起使用 WaveIn 和 AudioEndpointVolume

Posted

技术标签:

【中文标题】NAudio - 一起使用 WaveIn 和 AudioEndpointVolume【英文标题】:NAudio - Using WaveIn and AudioEndpointVolume together 【发布时间】:2016-05-05 09:42:11 【问题描述】:

在我的应用程序中,我使用 WaveIn 从麦克风录制,并允许我的客户使用 AudioEndpointVolume 调整录制级别。到目前为止我没有遇到任何问题,但是由于我的客户可能有不同的声卡,我想问一下这种组合是否会导致任何问题。

【问题讨论】:

【参考方案1】:

您需要注意,您使用的是两种完全不同的音频 API。 WaveIn 是旧的“MME”音频子系统,AudioEndpointVolume 来自于 Vista 引入的新的“Core Audio”API。他们没有理由不一起工作。主要挑战是确保您在具有多个音频输入设备的系统上绝对控制同一设备。

【讨论】:

我猜wi = new WaveIn()会打开默认的录音设备。比我使用MMDeviceEnumerator.GetDefaultAudioEndpoint(DataFlow.Capture, Role.Multimedia)。这能确保我同时使用相同的设备吗? 我希望如此,但我不敢肯定地说。 NAudio 中的默认 WaveIn ctr 将使用设备 0,这是默认录制设备。

以上是关于NAudio - 一起使用 WaveIn 和 AudioEndpointVolume的主要内容,如果未能解决你的问题,请参考以下文章

Naudio - 处理 WaveIn / WaveOut

记录来自 NAudio WaveIn 的输入,并输出到 NAudio WaveOut

NAudio WaveIn.DataAvailable 事件:分离通道

记录来自 NAudio WaveIn 的输入,并将输出保存到字节数组

在 NAudio 中列出 ASIO 音频输出设备

如何使用 NAudio 更改 WASAPI 记录比特率?