Compartir a través de


Cómo: Reproducir elementos multimedia con un objeto VideoDrawing

Para reproducir un archivo de audio o vídeo, use VideoDrawing y MediaPlayer. Hay dos maneras de cargar y reproducir elementos multimedia. La primera es usar un MediaPlayer y un VideoDrawing separadamente, y la segunda es crear su propio MediaTimeline para usarlo con el MediaPlayer y VideoDrawing.

Nota:

Al distribuir elementos multimedia con la aplicación, no puede utilizar un archivo multimedia como recurso del proyecto, como haría con una imagen. En el archivo de proyecto, debe establecer en su lugar el tipo de elemento multimedia en Content y establecer CopyToOutputDirectory en PreserveNewest o Always.

Usar un VideoDrawing y un objeto MediaPlayer

En el ejemplo siguiente se usa un VideoDrawing y un MediaPlayer para reproducir un archivo de vídeo una vez.

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

Para ganar un control del tiempo adicional sobre los elementos multimedia, use un MediaTimeline con los objetos MediaPlayer y VideoDrawing. El MediaTimeline le permite especificar si el vídeo debería repetirse.

Usar un mediaTimeline

En el ejemplo siguiente se usa un MediaTimeline con los objetos MediaPlayer y VideoDrawing para reproducir un vídeo repetidamente.

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

Observe que, cuando usa un MediaTimeline, usa el ClockController interactivo devuelto por la propiedad Controller del MediaClock para controlar la reproducción de multimedia, en lugar de los métodos interactivos de MediaPlayer.

Vea también