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


Сведения об источнике Sequencer

Источник последовательности позволяет приложению воспроизводить коллекцию источников мультимедиа последовательно, с простым переходом между источниками. Источник последовательности можно использовать для следующих сценариев:

  • Создайте список воспроизведения, который легко переключается с одного источника мультимедиа на следующий.
  • Воспроизведение потоков из нескольких источников одновременно; Например, воспроизведение звука из одного файла с видео из другого.
  • Переключение между потоками в различных источниках медиа в последовательных записях списка воспроизведения. Например, в списке воспроизведения могут быть записи, которые используют один и тот же источник видео, но каждая запись содержит другой источник звука.

Для каждого элемента списка воспроизведения приложение создает отдельную топологию. В этих топологиях источники мультимедиа называются исходными источниками, чтобы отличить их от источника-секвенсора. Во время воспроизведения вся последовательность топологий называется презентацией, а каждая топология в последовательности называется сегментом.

Воспроизведение управляется сеансом мультимедиа, который предоставляет элементы управления воспроизведением, такие как воспроизведение, пауза и остановка. Сеанс мультимедиа также управляет временем презентации и отправляет события в приложение. (События из источника последовательности перенаправляются в приложение через сеанс мультимедиа.)

Чтобы создать список воспроизведения, приложение создает одну или несколько топологий воспроизведения и помещает их в источник последовательности в нужном порядке воспроизведения. Внутренне источник последовательности изменяет топологии, чтобы исходные узлы указывали на источник последовательности вместо собственного источника. Приложение отправляет эти измененные топологии, а не исходные топологии в сеанс мультимедиа. Это позволяет источнику последовательности объединять собственные источники и взаимодействовать с сеансом мультимедиа.

Чтобы обеспечить плавный переход между сегментами, источник секвенсора предвоспроизводит каждый сегмент. Хотя один сегмент воспроизводится и до времени воспроизведения следующего сегмента, источник последовательности генерирует событие MENewPresentation, содержащее дескриптор презентации. Приложение использует этот дескриптор презентации для получения топологии для следующего сегмента в презентации и постановки этой топологии в очередь мультимедийной сессии.

На следующем рисунке показан поток данных для записей плейлиста через источник упорядочивания. Приложение использует сопоставитель источников для создания собственных источников, строит топологии для каждого сегмента и помещает топологии в очередь на источнике последовательности.

диаграмма, показывающая поток данных из imfmediasession, imfsequencersource и сегментов плейлиста, ведущих к imfmediasource

Создание списка воспроизведения

топологий

Использование источника Sequencer

Источник последовательности