Tag: wasapi

录制某个应用程序的声音

我想知道有没有办法记录某个应用程序的声音? 我搜索了一段时间,但没有找到一些有用的信息。 所以现在我正在使用NAudio库来录制WASAPI环回和麦克风声音,将它们混合在一起并使用以下代码保存到mp3文件: Silence = new WaveOut(); Silence.Init(new SignalGenerator() { Gain = 0 }); Silence.Play(); SoundOut = new WasapiLoopbackCapture(); SoundOut.DataAvailable += SoundOut_DataAvailable; SoundOut.StartRecording(); SoundOutBuffer = new BufferedWaveProvider(SoundOut.WaveFormat); SoundIn = new WaveIn(); SoundIn.WaveFormat = SoundOut.WaveFormat; SoundIn.DataAvailable += SoundIn_DataAvailable; SoundIn.StartRecording(); SoundInBuffer = new BufferedWaveProvider(SoundIn.WaveFormat); List Sources = new List { SoundOutBuffer.ToSampleProvider(), SoundInBuffer.ToSampleProvider() }; Mixer = new MixingSampleProvider(Sources); […]

在音频混音器中显示单个窗口应用程序当前音量输出级别

我正在尝试编写一个C#代码,从访问声音输出的每个窗口应用程序输出当前音频输出级别(如同Volume混音器不断变化的绿色条所示)。 该程序将每10毫秒检查一次,并输出如下:Windows Media Player:30,Mozilla Firefox:0,Adobe Flash Player:35(根据图) 我正在使用Windows 7,并在C#中尝试(因为Java无法实现这一点)。 我已经找到了为正在运行的应用程序获取和设置主音量(对于Windows Media Player显示65%的句柄栏)的方法,有没有办法获得绿色波动的水平数据? 谢谢!