none
WPF中用MediaElement加载视频的一些问题 RRS feed

  • 问题

  • 我刚刚开始学习在WPF中使用MediaElement来处理一些视频,我遇到的问题如下:

    1、环境说明:Windows7,VS2010,C#;用MediaElement打开本地的一个MPG视频文件,视频编码是MPEG2,音频编码是MPEG1,分辨率是720*576,时长30秒,文件大小44M;

    2、问题:1)在启动播放时,需要加载好几秒,开头会卡几秒,后面流畅;2)视频下部的边缘会不规律的出现一些马赛克,而该视频我用普通的WindowsMediaPlayer播放正常。

    3、请教的问题:1)关于比较卡的问题,是否和机器性能有关?那是否可以通过预加载解决?如何预加载?2)那些马赛克是怎么出现的?

    请各位大侠指点一下,谢谢!

    2010年11月16日 7:17

答案

  • 你好,

    关于这个问题,MediaElement在WPF的问题,其实MediaElement本身还是使用了Windows Media Player的COM组件。所以在解码/编码其方面,他和WMP所使用的是一样。马赛克应该是属于解/编码器的问题,和图形卡硬件绘制的问题。这个你可以具体看下这篇KB,也许对你有帮助:http://support.microsoft.com/kb/963021

    在启动时会卡几秒,是的,这是一个性能问题,你可以通过预先将视频数据读入内存 然后用如MemoryStream等方式来进行播放。另一方面,性能和具体解编码也有关系,所以你可以尝试安装和使用不同的解编码器,或者到别人的电脑上进行测试。在网络上你可以很容易的找到一些有名且常用的MPG视频文件解编码器,你不妨一试!

    在这里,还有一个项目也许对你有帮助 - 在Codeplex.com 上的 WPF Mediakit 项目 http://wpfmediakit.codeplex.com/

    致,

    Bob Bao


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Are you looking for a typical code sample? Please download all in one code framework !
    2010年11月16日 11:39
    版主