如何:使用 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();
若要获得对媒体的额外计时控制,请将 MediaTimeline 与 MediaPlayer 和 VideoDrawing 对象结合使用。 使用 MediaTimeline,可以指定视频是否重复。
使用 MediaTimeline
以下示例将 MediaTimeline 与 MediaPlayer 和 VideoDrawing 对象结合使用,来重复播放视频。
//
// 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 时,使用从 MediaClock 的 Controller 属性返回的交互式 ClockController 控制媒体播放,而不是使用 MediaPlayer 的交互式方法。