Comment : lire un média à l'aide d'un VideoDrawing
Mise à jour : novembre 2007
Pour lire un fichier audio ou vidéo, utilisez un VideoDrawing et un MediaPlayer. Il existe deux façons de charger et de lire un média. La première consiste à utiliser un MediaPlayer et un VideoDrawing, et la seconde consiste à créer votre propre MediaTimeline à utiliser avec MediaPlayer et VideoDrawing.
Remarque : |
---|
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 avec une image. Dans votre fichier projet, vous devez plutôt affecter Content au type de média et PreserveNewest ou Always à CopyToOutputDirectory. |
Exemple
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 optimiser le contrôle du minutage du média, utilisez un MediaTimeline avec les objets MediaPlayer et VideoDrawing. MediaTimeline vous permet de spécifier si la vidéo doit se répéter.
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 le ClockController interactif retourné par la propriété Controller du MediaClock pour contrôler la lecture du média à la place des méthodes interactives du MediaPlayer.
Voir aussi
Concepts
Vue d'ensemble des objets Drawing