NAudio:录制音频卡的实际输出

时间:2013-11-15 08:11:14

标签: naudio

我成功使用WasapiLoopbackCapture()来录制在系统上播放的音频,但我正在寻找一种方法来记录用户实际听到通过扬声器的内容。 我将解释:如果某个应用程序播放音乐,WASAPI Loopback将截取音乐样本,即使Windows主音量控制设置为0 ,这意味着:即使实际上没有通过音频听到声音 - 卡的输出插孔(扬声器/耳机/等)。 我想拦截实际上“到达”输出插孔的音频(在音频路径上的所有混音器“完成了他们的工作”之后)。

使用NAudio(或其他基础设施)可以实现吗? 代码示例或指向此类代码的链接可以派上用场。

非常感谢。

1 个答案:

答案 0 :(得分:0)

不,这不是直接的可能。 WASAPI提供的环回捕获是发送到音频硬件的数据流。控制实际输出声音的是硬件,这是应用音量级别来改变输出信号强度的地方。除了一些特定于硬件和驱动程序的选项 - 或一些有趣的硬件解决方案,如环回电缆或外部ADC - 没有直接的方法来获得真正的输出数据。

一种选择是从混音器获取音量级别,并将其作为缩放因子应用于从环回流接收的任何数据。这不是一个完美的解决方案,但如果没有特定的硬件支持,可能是最好的解决方案。