Partager via


Guide pratique pour lire un média à l’aide d’un VideoDrawing

Pour lire un fichier audio ou vidéo, vous utilisez un VideoDrawing et un MediaPlayer. Il existe deux façons de charger et de lire des supports. La première consiste à utiliser un MediaPlayer et un VideoDrawing par eux-mêmes, et la deuxième façon est de créer vos propres MediaTimeline à utiliser avec les MediaPlayer et VideoDrawing.

Note

Lorsque vous distribuez un média avec votre application, vous ne pouvez pas utiliser un fichier multimédia comme ressource de projet, comme vous le feriez pour une image. Dans votre fichier projet, vous devez 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 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 MediaPlayer et VideoDrawing. La MediaTimeline vous permet de spécifier si la vidéo doit se répéter.

Utiliser un MediaTimeline

L’exemple suivant utilise un MediaTimeline avec les objets MediaPlayer et VideoDrawing 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 la ClockController interactive retournée par la propriété Controller du MediaClock pour contrôler la lecture multimédia au lieu des méthodes interactives de MediaPlayer.

Voir aussi