我正在开发一个应用程序,我需要从视频中提取音频。音频需要以.wav格式提取,但我对视频格式没有问题。任何格式都可以,只要我能在wav文件中提取音频。
目前我在Windows窗体中使用Windows Media Player COM控件来播放视频,但任何其他嵌入式播放器也可以。
有关如何执行此操作的任何建议? 感谢
答案 0 :(得分:2)
可能最容易使用ffmpeg来做这件事...
答案 1 :(得分:2)
Here is a link,GraphEdit是DirectShow API的前端用户界面,因此您可以使用API执行所有操作。
您可以使用DirectShow.NET自由包装DirectShow API用于托管世界。
答案 2 :(得分:1)
如果您想使用C#执行此操作,请查看NAudio library。它可以分析音频格式(如FFMpeg)并提供音频流。这是one example。
示例中的代码段:
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
}