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
}
4条答案
按热度按时间bmp9r5qi1#
如果你想用C#来做这个,看看NAudio library。它可以分析音频格式(比如FFMpeg),也可以提供音频流。这里是one example。
范例的程式码片段:
8ulbf1ek2#
Here is a link关于如何使用GraphEdit提取音频,GraphEdit是DirectShow API的前端UI,因此它所能做的一切都可以通过API来完成。
您可以使用DirectShow.NET Liberty,它为托管环境 Package 了DirectShow API。
jjhzyzn03#
可能最容易使用ffmpeg的这类事情...
uttx8gqw4#
非常容易与FFMPEG!我经常这样做,以抓取音频从下载的youtube视频,转换音乐下载到WAV进行编辑,等等。它应该工作的任何文件扩展名:
ffmpeg -i任何文件扩展名的源. avi-vn -ar 44100 -ac 2 -ab 768000 -f wav目标文件名. wav