WPF开发工具的好处是显而易见的,很多开发人员在使用了这一开发工具后,都对自己的程序美观程度上有很大的满足感。WPF视频支持也是基于MediaPlayer类,以及和它相关的MediaElement和MediaTimeline。#t#
由于MediaPlayer是基于Windows Media Player 10 或更高版本。因此,只要Windows Media Player能播放的视频格式(如.wmv, .avi, .mpg等),在MediaPlayer或MediaElement中都能播放(前提是系统中必须安装Windows Media Player 10 或更高)。
WPF视频的播放和音频有些相似(在用MediaElement时候),通过设置Source属性为视频文件即可。如果使用MediaPlayer,由于视频的播放需要显示窗口,而MediaPlayer是为程序代码设计的(不参与UI显示),要显示MediaPlayer加载的媒体,必须使用VideoDrawing或DrawingContext(在(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搭配使用,并用PauseStoryboard、ResumeStoryboad等动作进行控制。
WPF视频中需要注意的一个问题,媒体文件不可以是嵌入式资源。MediaPlayer能够理解的路径是绝对路径、相对文件路径或一个URL。