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 Always
festlegen.
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
.NET Desktop feedback