Comment : lire un média à l'aide d'un VideoDrawing

Pour lire un fichier audio ou vidéo, vous utilisez un et un VideoDrawingMediaPlayer. Il y a deux façons de charger et de lire des médias. Le premier est d’utiliser un MediaPlayer et un VideoDrawing par eux-mêmes, et la deuxième façon est de créer votre propre MediaTimeline à utiliser avec le MediaPlayer et VideoDrawing.

Remarque

Lorsque vous distribuez un contenu multimédia avec votre application, vous ne pouvez pas utiliser de fichier multimédia comme ressource de projet, comme pour une image. Dans votre fichier projet, vous devez plutôt définir le type de média sur Content et définir CopyToOutputDirectory sur PreserveNewest ou Always.

Utiliser un VideoDrawing et un MediaPlayer

L’exemple suivant utilise un VideoDrawing fichier vidéo et un MediaPlayer pour lire un fichier vidéo une seule fois.

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

Pour obtenir un contrôle de minutage supplémentaire sur le média, utilisez un MediaTimeline avec les objets et VideoDrawing les MediaPlayer objets. Vous MediaTimeline pouvez spécifier si la vidéo doit se répéter.

Utiliser un MediaTimeline

L’exemple suivant utilise un MediaTimeline avec les objets et VideoDrawing les MediaPlayer objets pour lire une vidéo à plusieurs reprises.

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

Notez que, lorsque vous utilisez un MediaTimeline, vous utilisez l’interactif ClockController retourné à partir de la propriété de la MediaClock propriété pour contrôler la Controller lecture multimédia au lieu des méthodes interactives de MediaPlayer.

Voir aussi