我试图记录扬声器输出从任何演奏的音乐用C#和n音讯API检测量和BPM。
问题是,我不知道该怎么做:/
我从一个示例代码http://opensebj.blogspot.de/2009/04/naudio-tutorial-5-recording-audio.html他们录制简单的输入用更少的代码...
waveInStream = new WaveIn(44100,2);
什么是“44100,2”是指? 这是否针对该设备从记录???
我怎么可以针对扬声器输出?
没有人能帮助我吗? 甚至与另一个API?
谢谢
什么,你可能找的是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