我将如何以编程方式捕获内部音频?
Posted
技术标签:
【中文标题】我将如何以编程方式捕获内部音频?【英文标题】:How would I go about programmatically capturing internal audio? 【发布时间】:2018-02-03 23:18:27 【问题描述】:我正在尝试创建一个 Windows 应用程序,最好是在 .NET 中,它对传入的内部音频执行波形分析和声学指纹识别。 “内部音频”是指通过扬声器播放的声音,例如,当我观看 youtube 视频或播放 mp4 文件时。我将如何捕捉这个内部音频?
【问题讨论】:
【参考方案1】:您正在寻找 Nadio。虽然它没有“内部音频”,但您可以只加载 mp3 或音频 URL 链接。另一个非常相似的库是 cscore。
NAudio 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);
【讨论】:
也许你可以展示一些简单的例子来说明如何使用它们。这对可能偶然发现这个问题的其他用户有很大帮助。仅链接到某个库并不是在每种情况下都具有很强的描述性。 嘿,我对 NAudio 很熟悉。我特别想在播放时捕获流式音频。我有什么办法可以做到这一点? 是的,你可以试试waveInStream = new WasapiLoopbackCapture();
以上是关于我将如何以编程方式捕获内部音频?的主要内容,如果未能解决你的问题,请参考以下文章
如何以编程方式在 iphone 中执行应用程序音频的内部录制