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
.NET Desktop feedback