从video文件中提取wav文件

我正在开发一个应用程序,我需要从video中提取音频。 音频需要以.wav格式提取,但我对video格式没有问题。 任何格式都可以,只要我可以在wav文件中提取音频。

目前我在Windows窗体中使用Windows Media Player COM控件来播放video,但任何其他嵌入式播放器也可以。

有关如何做到这一点的任何建议? 谢谢

以下是有关如何使用GraphEdit提取音频的链接 ,GraphEdit是DirectShow API的前端UI,因此您可以使用API​​执行所有操作。
您可以使用DirectShow.NET自由包装DirectShow API用于托管世界。

可能最容易使用ffmpeg来做这件事……

如果您想使用C#执行此操作,请查看NAudio库 。 它可以分析音频格式(如FFMpeg)并提供音频流。 这是一个例子 。

样本中的片段:

using NAudio.Wave; using System.IO; ... // contentAsByteArray consists of video bytes MemoryStream contentAsMemoryStream = new MemoryStream(contentAsByteArray); using (WaveStream pcmStream = WaveFormatConversionStream.CreatePcmStream( new StreamMediaFoundationReader(contentAsMemoryStream))) { WaveStream blockAlignReductionStream = new BlockAlignReductionStream(pcmStream); // Do something with the wave stream }