Instrukcje: odtwarzanie multimediów przy użyciu elementu VideoDrawing
Aby odtworzyć plik audio lub wideo, należy użyć VideoDrawing i MediaPlayer. Istnieją dwa sposoby ładowania i odtwarzania multimediów. Pierwszy sposób polega na użyciu MediaPlayer i VideoDrawing samodzielnie, a druga metoda to stworzenie własnego MediaTimeline do użycia z MediaPlayer i VideoDrawing.
Notatka
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 ustawić typ nośnika na Content
i ustawić CopyToOutputDirectory
na wartość PreserveNewest
lub Always
.
Użyj VideoDrawing i MediaPlayer
W poniższym przykładzie użyto VideoDrawing i MediaPlayer do odtwarzania pliku 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ć większą kontrolę nad czasem działania nośnika, użyj MediaTimeline wraz z obiektami MediaPlayer i VideoDrawing. MediaTimeline umożliwia określenie, czy wideo powinno się powtarzać.
Korzystanie z funkcji MediaTimeline
W poniższym przykładzie użyto MediaTimeline 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 gdy używasz MediaTimeline, używasz interaktywnej ClockController zwróconej z właściwości Controller w MediaClock do kontrolowania odtwarzania multimediów zamiast używać interaktywnych metod MediaPlayer.
Zobacz też
.NET Desktop feedback