WPF視頻使用方法詳解
WPF開(kāi)發(fā)工具的好處是顯而易見(jiàn)的,很多開(kāi)發(fā)人員在使用了這一開(kāi)發(fā)工具后,都對(duì)自己的程序美觀程度上有很大的滿足感。WPF視頻支持也是基于MediaPlayer類,以及和它相關(guān)的MediaElement和MediaTimeline。#t#
由于MediaPlayer是基于Windows Media Player 10 或更高版本。因此,只要Windows Media Player能播放的視頻格式(如.wmv, .avi, .mpg等),在MediaPlayer或MediaElement中都能播放(前提是系統(tǒng)中必須安裝Windows Media Player 10 或更高)。
WPF視頻的播放和音頻有些相似(在用MediaElement時(shí)候),通過(guò)設(shè)置Source屬性為視頻文件即可。如果使用MediaPlayer,由于視頻的播放需要顯示窗口,而MediaPlayer是為程序代碼設(shè)計(jì)的(不參與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>
使用兩個(gè)MediaElement播放同一個(gè)視頻文件,其中一個(gè)做了180度旋轉(zhuǎn)。
如果要控制視頻的播放,可以與MediaTimeline搭配使用,并用PauseStoryboard、ResumeStoryboad等動(dòng)作進(jìn)行控制。
WPF視頻中需要注意的一個(gè)問(wèn)題,媒體文件不可以是嵌入式資源。MediaPlayer能夠理解的路徑是絕對(duì)路徑、相對(duì)文件路徑或一個(gè)URL。