在C#中,使用NAudio库可以轻松地从输出设备(扬声器)录制音频。以下是一个简单的示例,说明如何使用NAudio API从扬声器录制音频:
using NAudio.CoreAudioApi;
using NAudio.Wave;
public void RecordAudio()
{
// 获取默认音频设备(扬声器)
MMDeviceEnumerator deviceEnumerator = new MMDeviceEnumerator();
MMDevice defaultDevice = deviceEnumerator.GetDefaultAudioEndpoint(DataFlow.Render, Role.Console);
// 创建WASAPI捕获对象
var wasapiLoopbackCapture = new WasapiLoopbackCapture(defaultDevice);
// 设置WAV文件编写器
var waveFileWriter = new WaveFileWriter("output.wav", wasapiLoopbackCapture.WaveFormat);
// 将WASAPI捕获对象与WAV文件编写器相关联
wasapiLoopbackCapture.DataAvailable += (sender, args) =>
{
waveFileWriter.Write(args.Data, 0, args.BytesRecorded);
};
// 开始录制
wasapiLoopbackCapture.StartRecording();
// 等待一段时间(例如:10秒)
System.Threading.Thread.Sleep(10000);
// 停止录制
wasapiLoopbackCapture.StopRecording();
// 关闭WAV文件编写器
waveFileWriter.Close();
}
这个示例将从扬声器录制10秒钟的音频,并将其保存为名为“output.wav”的WAV文件。请注意,这个示例仅适用于Windows操作系统。
推荐的腾讯云相关产品:腾讯云音频处理服务(TMS)。
腾讯云音频处理服务介绍链接地址:https://cloud.tencent.com/product/tms
领取专属 10元无门槛券
手把手带您无忧上云