Gewusst wie: Wiedergeben von Medien mit einer VideoDrawing

Aktualisiert: November 2007

Um eine Audio- oder Videodatei wiederzugeben, verwenden Sie eine VideoDrawing und einen MediaPlayer. Es gibt zwei Möglichkeiten, Medien zu laden und wiederzugeben. Sie können entweder einen MediaPlayer und eine VideoDrawing alleine verwenden, oder Sie erstellen eine eigene MediaTimeline und setzen diese zusammen mit dem MediaPlayer und der VideoDrawing ein.

Tipp

Wenn Sie Medien mit der Anwendung verteilen, können Sie eine Mediendatei, im Gegensatz zu einem Bild, nicht als Projektressource verwenden. Sie müssen stattdessen in der Projektdatei den Medientyp auf Content und CopyToOutputDirectory auf PreserveNewest oder Always festlegen.

Beispiel

Im folgenden Beispiel wird eine Videodatei mit einer VideoDrawing und einem MediaPlayer einmal wiedergegeben.

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

Um eine zusätzliche Zeitsteuerungskontrolle über die Medien zu erhalten, verwenden Sie eine MediaTimeline mit dem MediaPlayer-Objekt und dem VideoDrawing-Objekt. Mit der MediaTimeline können Sie angeben, ob das Video erneut wiedergegeben werden soll.

Im folgenden Beispiel wird eine MediaTimeline mit dem MediaPlayer- und VideoDrawing-Objekt zur wiederholten Wiedergabe eines Videos verwendet.

//
// 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 bei der Verwendung einer MediaTimeline statt der interaktiven Methoden von MediaPlayer den interaktiven ClockController verwenden, der von der Controller-Eigenschaft der MediaClock zurückgegeben wird, um die Medienwiedergabe zu steuern.

Siehe auch

Konzepte

Übersicht über Zeichnungsobjekte

Referenz

VideoDrawing