Поделиться через


Практическое руководство. Воспроизведение мультимедиа с помощью VideoDrawing

Для воспроизведения аудио- и видеофайлов следует использовать VideoDrawing и MediaPlayer. Существуют два способа загрузки и воспроизведения файлов мультимедиа. Первый способ заключается в использовании MediaPlayer и VideoDrawing, а второй — в создании собственных MediaTimeline для использования с MediaPlayer и VideoDrawing.

ПримечаниеПримечание

При передаче файлов мультимедиа приложениям файл мультимедиа, в отличие от изображений, нельзя использовать в качестве ресурса проекта.Вместо этого в файле проекта необходимо задать для типа мультимедиа значение Content, А для CopyToOutputDirectory — PreserveNewest или Always.

Пример

В следующем примере VideoDrawing и MediaPlayer используются для однократного воспроизведения видеофайла.

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

Чтобы получить дополнительное управление временем для мультимедиа, используйте MediaTimeline с объектами MediaPlayer и VideoDrawing. MediaTimeline позволяет задать повтор воспроизведения видеофайла.

В следующем примере MediaTimeline используется с объектами MediaPlayer и VideoDrawing для циклического воспроизведения видео.

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

Обратите внимание, что при использовании MediaTimeline, используется интерактивный ClockController, который возвращается свойством Controller для MediaClock и позволяет управлять воспроизведением мультимедиа, вместо интерактивных методов MediaPlayer.

См. также

Ссылки

VideoDrawing

Основные понятия

Обзор объектов Drawing