winforms 从视频文件中提取wav文件

sg3maiej  于 2022-11-16  发布在  其他
关注(0)|答案(4)|浏览(144)

我正在开发一个需要从视频中提取音频的应用程序。音频需要以.wav格式提取,但我对视频格式没有问题。任何格式都可以,只要我能以wav文件提取音频。
目前我正在使用windows形式的Windows媒体播放器COM控件来播放视频,但任何其他嵌入式播放器也可以。
有什么建议吗?谢谢

bmp9r5qi

bmp9r5qi1#

如果你想用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
}
8ulbf1ek

8ulbf1ek2#

Here is a link关于如何使用GraphEdit提取音频,GraphEdit是DirectShow API的前端UI,因此它所能做的一切都可以通过API来完成。
您可以使用DirectShow.NET Liberty,它为托管环境 Package 了DirectShow API。

jjhzyzn0

jjhzyzn03#

可能最容易使用ffmpeg的这类事情...

uttx8gqw

uttx8gqw4#

非常容易与FFMPEG!我经常这样做,以抓取音频从下载的youtube视频,转换音乐下载到WAV进行编辑,等等。它应该工作的任何文件扩展名:
ffmpeg -i任何文件扩展名的源. avi-vn -ar 44100 -ac 2 -ab 768000 -f wav目标文件名. wav

相关问题