Como: Reproduzir mídia usando um VideoDrawing
Para reproduzir um arquivo de áudio ou vídeo, você utiliza um VideoDrawing e um MediaPlayer. Há duas formas de carregar e reproduzir mídia. A primeira é utilizar um MediaPlayer e um VideoDrawing por si só, e a segunda forma é criar seu próprio MediaTimeline para utilizar com o MediaPlayer e VideoDrawing.
Observação: |
---|
Ao distribuir mídia com o seu aplicativo, y ocê não é possível usar um arquivo de mídia sistema autônomo um recurso do projeto, sistema autônomo faria com uma imagem. No arquivo de projeto, você deve em vez disso Defina o tipo de mídia Content e conjunto CopyToOutputDirectory para PreserveNewest ou Always. |
Exemplo
O exemplo a seguir utiliza um VideoDrawing e um MediaPlayer 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 ganhar controle adicional sobre o tempo da mídia, utilize um MediaTimeline com os objetos MediaPlayer e VideoDrawing. O MediaTimeline permite que você especifique se o vídeo deve repetir.
O exemplo a seguir utiliza um MediaTimeline com os objetos MediaPlayer e VideoDrawing para executar um 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ê utiliza um MediaTimeline, você utiliza o ClockController interativo retornado da propriedade Controller do MediaClock para controlar a reprodução de mídia em vez dos métodos interativos do MediaPlayer.
Consulte também
Conceitos
Visão Geral de Objetos de Desenho