WPF視頻使用方法詳解
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。