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


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

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

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

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

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

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

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

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

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

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

Топологии

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

Источник Sequencer