我将如何以编程方式捕获内部音频?

时间:2018-02-03 23:18:28

标签: c# .net windows audio-recording waveform

我正在尝试创建一个Windows应用程序,最好是在.NET中,对传入的内部音频执行波形分析和声学指纹识别。 “内部音频”是指通过扬声器播放的声音,例如,当我观看YouTube视频或播放mp4文件时。我将如何捕获此内部音频?

1 个答案:

答案 0 :(得分:1)

您正在寻找Naudio。虽然它没有“内部音频”,但您只需加载mp3或音频URL链接即可。另一个非常相似的库是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);
}