C#如何记录从输出设备(扬声器)与n音讯API一般音频(C# how to record gener

2019-09-20 21:18发布

我试图记录扬声器输出从任何演奏的音乐用C#和n音讯API检测量和BPM。

问题是,我不知道该怎么做:/

我从一个示例代码http://opensebj.blogspot.de/2009/04/naudio-tutorial-5-recording-audio.html他们录制简单的输入用更少的代码...

waveInStream = new WaveIn(44100,2);

什么是“44100,2”是指? 这是否针对该设备从记录???

我怎么可以针对扬声器输出?

没有人能帮助我吗? 甚至与另一个API?

谢谢

Answer 1:

什么,你可能找的是WasapiLoopbackCapture类,它可以让你记录你所有的计算机生成的声音。 :此工作在Windows Vista / 7只!

要开始录制,这样做:

waveIn = new WasapiLoopbackCapture();
waveIn.DataAvailable += InputBufferToFileCallback;    
waveIn.StartRecording();

然后,每一个录音缓冲区满时, InputBufferToFileCallback函数将被调用:

public void InputBufferToFileCallback(object sender, WaveInEventArgs e)
{
  // The recorder bytes can be found in e.Buffer
  // The number of bytes recorded can be found in e.BytesRecorded
  // Process the audio data any way you wish...
}

我想你已经把错误的轨道由你链接的教程,因为在n音讯当前版本我没有看到new WaveIn(44100,2); 构造函数。 n音讯可能已被修改,因为本教程是第一次写。

作为最后的说明,数字44100和2表示的采样率和信道的分别的数目。



文章来源: C# how to record general audio from output device ( speaker ) with NAudio API