Udostępnij za pośrednictwem


Jak odtworzyć z nośnika z użyciem VideoDrawing

Aby odtworzyć plik audio lub wideo, należy użyć elementu VideoDrawing i MediaPlayer. Istnieją dwa sposoby ładowania i odtwarzania multimediów. Pierwszym z nich jest użycie elementu i MediaPlayerVideoDrawing przez siebie, a drugą metodą jest utworzenie własnego MediaTimeline elementu do użycia z elementami MediaPlayer i VideoDrawing.

Uwaga

Podczas dystrybucji multimediów z aplikacją nie można użyć pliku multimedialnego jako zasobu projektu, tak jak w przypadku obrazu. W pliku projektu należy zamiast tego ustawić typ nośnika na i ustawić Content wartość PreserveNewestCopyToOutputDirectory na lub Always.

Używanie elementu VideoDrawing i odtwarzacza MediaPlayer

W poniższym przykładzie użyto elementu VideoDrawing i , MediaPlayer aby odtworzyć plik wideo raz.

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

Aby uzyskać dodatkową kontrolę czasu nad nośnikiem, użyj obiektu MediaTimeline i MediaPlayerVideoDrawing . Element MediaTimeline umożliwia określenie, czy film wideo ma być powtarzany.

Korzystanie z funkcji MediaTimeline

W poniższym przykładzie użyto MediaTimeline obiektu z obiektami MediaPlayer i VideoDrawing do wielokrotnego odtwarzania wideo.

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

Należy pamiętać, że w przypadku korzystania z MediaTimelineelementu należy użyć elementu interaktywnego ClockController zwróconego z Controller właściwości MediaClock , aby kontrolować odtwarzanie multimediów zamiast metod interaktywnych .MediaPlayer

Zobacz też