Freigeben über


Wiedergeben von Medien mit VideoDrawing

Zum Wiedergeben einer Audio- oder Videodatei verwenden Sie eine VideoDrawing und einen MediaPlayer. Es gibt zwei Möglichkeiten zum Laden und Wiedergeben von Medien. Zuerst verwenden Sie selbst MediaPlayer und VideoDrawing selbstständig, und die zweite Methode besteht im Erstellen einer eigenen MediaTimeline für die Verwendung mit dem MediaPlayer und der VideoDrawing.

Anmerkung

Wenn Sie Medien mit Ihrer Anwendung verteilen, können Sie eine Mediendatei nicht wie ein Bild als Projektressource verwenden. In der Projektdatei müssen Sie stattdessen den Medientyp auf Content festlegen und CopyToOutputDirectory auf PreserveNewest oder Alwaysfestlegen.

Verwenden von VideoDrawing und MediaPlayer

Im folgenden Beispiel wird ein VideoDrawing und ein MediaPlayer verwendet, um eine Videodatei einmal wiederzugeben.

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

Wenn Sie zusätzliche zeitliche Kontrolle über die Medienwiedergabe erlangen möchten, verwenden Sie eine MediaTimeline mit den Objekten MediaPlayer und VideoDrawing. Mit dem MediaTimeline können Sie angeben, ob das Video wiederholt werden soll.

Verwenden von MediaTimeline

Das folgende Beispiel verwendet eine MediaTimeline mit dem MediaPlayer und VideoDrawing-Objekten, um ein Video wiederholt abzuspielen.

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

Beachten Sie, dass Sie beim Verwenden einer MediaTimeline den interaktiven ClockController zum Steuern der Medienwiedergabe verwenden, der von der Controller-Eigenschaft der MediaClock zurückgegeben wird, anstelle der interaktiven Methoden von MediaPlayer.

Weitere Informationen