WPF中的视频——(1)

          WPF的视频支持也是基于MediaPlayer类,以及和它相关的MediaElementMediaTimeline。由于MediaPlayer是基于Windows Media Player 10 或更高版本,因此,只要Windows Media Player能播放的视频格式(如.wmv, .avi, .mpg等),在MediaPlayerMediaElement中都能播放(前提是系统中必须安装Windows Media Player 10 或更高)。

          WPF中视频的播放和音频有些相似(在用MediaElement时候),通过设置Source属性为视频文件即可。如果使用MediaPlayer,由于视频的播放需要显示窗口,而MediaPlayer是为程序代码设计的(不参与UI显示),要显示MediaPlayer加载的媒体,必须使用VideoDrawingDrawingContext(在(2)中再描述)。

          MediaElement播放视频的代码如下:

    <Grid>

        <MediaElement Source="C:"Users"Public"Videos"Sample Videos"bear.wmv" Opacity="0.5">

            <MediaElement.Clip>

                <EllipseGeometry Center="220 220" RadiusX="220" RadiusY="220"/>

            </MediaElement.Clip>

            <MediaElement.LayoutTransform>

                <RotateTransform Angle="180"/>

            </MediaElement.LayoutTransform>

        </MediaElement>

        <MediaElement Source="C:"Users"Public"Videos"Sample Videos"bear.wmv" Opacity="0.5">

            <MediaElement.Clip>

                <EllipseGeometry Center="220 220" RadiusX="220" RadiusY="220"/>

            </MediaElement.Clip>

        </MediaElement>

    </Grid>

使用两个MediaElement播放同一个视频文件,其中一个做了180度旋转,显示的效果如下图所示:

 

如果要控制视频的播放,可以与MediaTimeline搭配使用,并用PauseStoryboardResumeStoryboad等动作进行控制。

需要注意的一个问题,媒体文件不可以是嵌入式资源。MediaPlayer能够理解的路径是绝对路径、相对文件路径或一个URL

posted on 2009-03-12 16:03  xirihanlin  阅读(4233)  评论(1编辑  收藏  举报