Como executar mídia usando um VideoDrawing
Para reproduzir um arquivo de áudio ou vídeo, use um VideoDrawing e um MediaPlayer. Há duas maneiras de carregar e reproduzir mídia. A primeira é usar um MediaPlayer e um VideoDrawing sozinhos, e a segunda maneira é criar sua própria MediaTimeline para usar com o MediaPlayer e VideoDrawing.
Nota
Ao distribuir mídia com seu aplicativo, você não pode usar um arquivo de mídia como um recurso de projeto, como faria com uma imagem. Em seu arquivo de projeto, em vez disso, você deve definir o tipo de mídia como Content
e defina CopyToOutputDirectory
para PreserveNewest
ou Always
.
Usar um VideoDrawing e um Reprodutor de Mídia
O exemplo a seguir usa 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 obter controle de tempo adicional sobre a mídia, use um MediaTimeline com os objetos MediaPlayer e VideoDrawing. O MediaTimeline permite que você especifique se o vídeo deve ser repetido.
Usar um MediaTimeline
O exemplo a seguir usa um MediaTimeline com os objetos MediaPlayer e VideoDrawing para reproduzir 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;
Note que, quando você usa um MediaTimeline, está utilizando o ClockController interativo retornado da propriedade Controller do MediaClock para controlar a reprodução de mídia, em vez dos métodos interativos de MediaPlayer.
Consulte também
.NET Desktop feedback