Procedura: riprodurre contenuti multimediali utilizzando un oggetto VideoDrawing
Per riprodurre un file audio o video, si utilizza un oggetto VideoDrawing e MediaPlayer. È possibile caricare e riprodurre contenuti multimediali in due modi diversi. Il primo consiste nell'utilizzo di MediaPlayer e di un oggetto VideoDrawing da soli e il secondo nella creazione di un oggetto MediaTimeline personalizzato da utilizzare con MediaPlayer e VideoDrawing.
![]() |
---|
Quando si distribuiscono contenuti multimediali con l'applicazione, non è possibile utilizzare un file multimediale come risorsa di progetto, come avviene per un'immagine.Invece, è necessario impostare il tipo di contenuti multimediali su Content nel file del progetto e CopyToOutputDirectory su PreserveNewest o su Always. |
Esempio
Nell'esempio riportato di seguito vengono utilizzati un oggetto VideoDrawing e un oggetto MediaPlayer per riprodurre un file video una volta.
//
// 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();
Per un ulteriore controllo della durata dei contenuti multimediali, utilizzare un oggetto MediaTimeline con gli oggetti MediaPlayer e VideoDrawing. MediaTimeline consente di specificare se il file video deve essere ripetuto.
Nell'esempio riportato di seguito viene utilizzato MediaTimeline con gli oggetti MediaPlayer e VideoDrawing per riprodurre ripetutamente un video.
//
// 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;
Quando si utilizza MediaTimeline, si impiega l'oggetto interattivo ClockController restituito dalla proprietà Controller di MediaClock per controllare la riproduzione di contenuti multimediali invece dei metodi interattivi di MediaPlayer.