Compartir a través de


Cómo: Reproducir elementos multimedia con un objeto VideoDrawing

Actualización: noviembre 2007

Para reproducir un archivo de audio o vídeo, se utiliza un objeto VideoDrawing y un objeto MediaPlayer. Hay dos maneras de cargar y reproducir elementos multimedia. La primera es utilizar MediaPlayer y VideoDrawing por sí solos; la segunda consiste en crear su propio objeto MediaTimeline para utilizarlo con MediaPlayer y VideoDrawing.

Nota

Al distribuir los objetos multimedia con la aplicación, no se puede usar ningún archivo multimedia como recurso del proyecto, como se haría con una imagen. En lugar de ello, en el archivo del proyecto debe establecer en Content el tipo de medios y establecer CopyToOutputDirectory en PreserveNewest o Always.

Ejemplo

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

//
// 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 controlar mejor el tiempo en los elementos multimedia, utilice un objeto MediaTimeline con los objetos MediaPlayer y VideoDrawing. MediaTimeline permite especificar si el vídeo se debe repetir.

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

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

Tenga en cuenta que, al utilizar MediaTimeline, se utiliza el objeto ClockController interactivo devuelto de la propiedad Controller de MediaClock para controlar la reproducción multimedia, en lugar de los métodos interactivos de MediaPlayer.

Vea también

Conceptos

Información general sobre objetos Drawing

Referencia

VideoDrawing