Como executar mídia usando um VideoDrawing

Para reproduzir um arquivo de áudio ou vídeo, use um e um VideoDrawingMediaPlayerarquivo . Há duas maneiras de carregar e reproduzir mídia. A primeira é usar um MediaPlayer e a por si só, e a VideoDrawing segunda maneira é criar o seu próprio MediaTimeline para usar com o MediaPlayer e VideoDrawing.

Observação

Ao distribuir mídia com seu aplicativo, você não pode usar um arquivo de mídia como um recurso do projeto, como faria com uma imagem. Em seu arquivo de projeto, você deve definir o tipo de mídia como Content e definir CopyToOutputDirectory como PreserveNewest ou Always.

Usar um VideoDrawing e um MediaPlayer

O exemplo a seguir usa a e a VideoDrawingMediaPlayer para reproduzir um arquivo de vídeo uma 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 obter controle de tempo adicional sobre a mídia, use um MediaTimeline com os MediaPlayer objetos e VideoDrawing . O MediaTimeline permite que você especifique se o vídeo deve ser repetido.

Usar uma MediaTimeline

O exemplo a seguir usa um com os MediaPlayer objetos e VideoDrawing para reproduzir um MediaTimeline 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, quando você usa um MediaTimeline, você usa o interativo ClockController retornado da Controller propriedade do para controlar a MediaClock reprodução de mídia em vez dos métodos interativos do MediaPlayer.

Confira também