我是新手使用NAudio很抱歉,如果我的问题听起来很幼稚。
我的项目是使用WPF MediaElement控件播放视频文件,然后访问播放视频的音频流(使用NAudio)来表示正在播放的视频的音轨(波形等)。
我研究了如何让NAudio在MediaElement控件中访问视频文件的音轨但找不到资源..
任何建议都将受到赞赏
答案 0 :(得分:0)
如果您愿意尝试NAudio 1.7(available on NuGet)的预览版,它现在可以使用Media Foundation从视频文件中读取音轨。使用MediaFoundationReader
类。以下是将音轨保存到WAV文件的方法:
using (var reader = new MediaFoundationReader("mymovie.m4v"))
{
WaveFileWriter.CreateWaveFile(reader, "soundtrack.wav");
}
显然,对于波形绘制,您不需要制作WAV文件。只需查看样本值即可获得波形渲染器的峰值。
请注意,仅在Windows Vista及更高版本上支持Media Foundation。