Ace*_*Ace 1 c# record naudio speaker
我正在尝试录制扬声器输出,以使用C#和NAudio API检测任何播放音乐的音量和BPM.
问题是,我不知道该怎么做:/
我有一个示例代码来自http://opensebj.blogspot.de/2009/04/naudio-tutorial-5-recording-audio.html,他们用较少的代码记录简单输入...
waveInStream = new WaveIn(44100,2);
Run Code Online (Sandbox Code Playgroud)
"44100,2"是什么意思?这是针对设备记录???
我该如何定位扬声器输出?
有没有人可以帮助我?甚至与其他API?
谢谢
您可能正在寻找的是WasapiLoopbackCapture课程,它允许您录制计算机正在生成的所有声音.注意:这仅适用于Windows Vista/7!
要开始录制,请执行以下操作:
waveIn = new WasapiLoopbackCapture();
waveIn.DataAvailable += InputBufferToFileCallback;
waveIn.StartRecording();
Run Code Online (Sandbox Code Playgroud)
然后,每次录制缓冲区已满,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...
}
Run Code Online (Sandbox Code Playgroud)
我认为您链接的教程已经被错误地放在了错误的轨道上,因为在当前版本的NAudio中我没有看到new WaveIn(44100,2);构造函数.自从教程第一次编写以来,NAudio可能已被修改.
最后,数字44100和2分别表示采样率和通道数.
| 归档时间: |
|
| 查看次数: |
8829 次 |
| 最近记录: |