如何:使用 VideoDrawing 播放媒體
若要播放音訊或視訊檔案,您可以使用 VideoDrawing 和 MediaPlayer 。 有兩種方法可以載入及播放媒體。 第一個是單獨使用 MediaPlayer 和 VideoDrawing ,第二種方式是建立您自己的 MediaTimeline 來搭配 MediaPlayer 和 VideoDrawing 使用。
注意
利用您的應用程式散發媒體時,您無法跟散發影像一樣,使用媒體檔案當作專案資源。 在您的專案檔中,您必須改為將媒體類型設定為 Content
,並將 CopyToOutputDirectory
設定為 PreserveNewest
或 Always
。
使用 VideoDrawing 和 MediaPlayer
下列範例會使用 VideoDrawing 和 MediaPlayer 來播放視訊檔案一次。
//
// Create a VideoDrawing.
//
MediaPlayer player = new MediaPlayer();
player.Open(new Uri(@"sampleMedia\xbox.wmv", UriKind.Relative));
VideoDrawing aVideoDrawing = new VideoDrawing();
aVideoDrawing.Rect = new Rect(0, 0, 100, 100);
aVideoDrawing.Player = player;
// Play the video once.
player.Play();
若要取得媒體的其他計時控制,請搭配 MediaPlayer 和 VideoDrawing 物件使用 MediaTimeline 。 MediaTimeline可讓您指定影片是否應該重複。
使用 MediaTimeline
下列範例會搭配 MediaPlayer 和 VideoDrawing 物件使用 MediaTimeline 來重複播放視訊。
//
// Create a VideoDrawing that repeats.
//
// Create a MediaTimeline.
MediaTimeline mTimeline =
new MediaTimeline(new Uri(@"sampleMedia\xbox.wmv", UriKind.Relative));
// Set the timeline to repeat.
mTimeline.RepeatBehavior = RepeatBehavior.Forever;
// Create a clock from the MediaTimeline.
MediaClock mClock = mTimeline.CreateClock();
MediaPlayer repeatingVideoDrawingPlayer = new MediaPlayer();
repeatingVideoDrawingPlayer.Clock = mClock;
VideoDrawing repeatingVideoDrawing = new VideoDrawing();
repeatingVideoDrawing.Rect = new Rect(150, 0, 100, 100);
repeatingVideoDrawing.Player = repeatingVideoDrawingPlayer;
請注意,當您使用 時,會使用 MediaTimeline 從 Controller 屬性傳回的 MediaClock 互動式 ClockController ,以控制媒體播放,而不是 的 MediaPlayer 互動式方法。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應