我将如何以编程方式捕获内部音频?
How would I go about programmatically capturing internal audio?
我正在尝试创建一个 windows 应用程序,最好是在 .NET 中,它对传入的内部音频执行波形分析和声学指纹识别。 'internal audio' 是指通过我的扬声器播放的声音,例如,当我观看 youtube 视频或播放 mp4 文件时。我将如何捕获此内部音频?
您正在寻找 Naudio。虽然它没有 "internal audio",但您可以只加载 mp3 或音频 URL link。另一个非常相似的库是 cscore。
这是一个 NAudio 示例
WaveIn waveInStream;
WaveFileWriter writer;
waveInStream = new WaveIn(44100,2);
writer = new WaveFileWriter(outputFilename, waveInStream.WaveFormat);
waveInStream.DataAvailable += new EventHandler<WaveInEventArgs>(waveInStream_DataAvailable);
waveInStream.StartRecording();
void waveInStream_DataAvailable(object sender, WaveInEventArgs e)
{
writer.WriteData(e.Buffer, 0, e.BytesRecorded);
}
我正在尝试创建一个 windows 应用程序,最好是在 .NET 中,它对传入的内部音频执行波形分析和声学指纹识别。 'internal audio' 是指通过我的扬声器播放的声音,例如,当我观看 youtube 视频或播放 mp4 文件时。我将如何捕获此内部音频?
您正在寻找 Naudio。虽然它没有 "internal audio",但您可以只加载 mp3 或音频 URL link。另一个非常相似的库是 cscore。
这是一个 NAudio 示例
WaveIn waveInStream;
WaveFileWriter writer;
waveInStream = new WaveIn(44100,2);
writer = new WaveFileWriter(outputFilename, waveInStream.WaveFormat);
waveInStream.DataAvailable += new EventHandler<WaveInEventArgs>(waveInStream_DataAvailable);
waveInStream.StartRecording();
void waveInStream_DataAvailable(object sender, WaveInEventArgs e)
{
writer.WriteData(e.Buffer, 0, e.BytesRecorded);
}