gpt4 book ai didi

C# 如何使用 NAudio API 从输出设备(扬声器)录制一般音频

转载 作者:太空宇宙 更新时间:2023-11-03 19:21:33 27 4
gpt4 key购买 nike

我正在尝试使用 C# 和 NAudio 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...
}

我认为您链接的教程误导了您,因为在当前版本的 NAudio 中我没有看到 new WaveIn(44100,2); 构造函数。自教程首次编写以来,NAudio 可能已被修改。

最后一点,数字 44100 和 2 分别表示采样率和 channel 数。

关于C# 如何使用 NAudio API 从输出设备(扬声器)录制一般音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11828437/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com