3

如果我的问题听起来很幼稚,我对使用 NAudio 很抱歉。

我的项目是使用 WPF MediaElement 控件播放视频文件,然后访问播放视频的音频流(使用 NAudio)来表示正在播放的视频的音轨(波形等)。

我研究了如何让 NAudio 访问 MediaElement 控件中视频文件的音轨,但找不到资源..

任何建议将不胜感激

4

1 回答 1

0

如果您愿意尝试 NAudio 1.7 的预览版(可在 NuGet 上获得),它现在可以使用 Media Foundation 从视频文件中读取音轨。使用MediaFoundationReader类。以下是将配乐保存到 WAV 文件的方法:

using (var reader = new MediaFoundationReader("mymovie.m4v"))
{
    WaveFileWriter.CreateWaveFile(reader, "soundtrack.wav");
}

显然,对于波形绘图,您不需要制作 WAV 文件。只需查看样本值即可获得波形渲染器的峰值。

请注意,Media Foundation 仅在 Windows Vista 及更高版本上受支持。

于 2012-12-04T07:28:51.237 回答