如何:使用 VideoDrawing 播放媒体

若要播放音频或视频文件,请使用 VideoDrawingMediaPlayer。 有两种方法可以加载和播放媒体。 第一种方法是自行使用 MediaPlayerVideoDrawing,第二种方法是创建自己的 MediaTimeline 以用于 MediaPlayerVideoDrawing

注意

使用应用程序分发媒体时,不能将媒体文件用作项目资源,就像图像一样。 在项目文件中,必须将媒体类型设置为 Content,并将 CopyToOutputDirectory 设置为 PreserveNewestAlways

使用 VideoDrawing 和 MediaPlayer

以下示例使用 VideoDrawingMediaPlayer 播放视频文件一次。

//
// 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();

若要获取对媒体的其他计时控制,请对 MediaPlayerVideoDrawing 对象使用 MediaTimeline。 使用 MediaTimeline 可以指定视频是否应重复。

使用媒体时间轴 (MediaTimeline)

以下示例使用具有 MediaPlayerVideoDrawing 对象的 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时,使用从 MediaClockController 属性返回的交互式 ClockController 来控制媒体播放,而不是 MediaPlayer的交互式方法。

另请参阅