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


Объект потоковой передачи мультимедиа и иерархия интерфейса

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

Примечание

Эти API являются устаревшими. Приложения должны использовать фильтр Sample Grabber или реализовать пользовательский фильтр для получения данных из графа фильтра DirectShow.

 

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

Иерархия объектов multimediastreaming

Архитектура потоковой передачи мультимедиа определяет три общих типа объекта:

  • Объект AMMultimediaStream предоставляет интерфейс IAMMultiMediaStream . Внутри этого объекта выполняется оболочка графа фильтра DirectShow.
  • Объекты потоков мультимедиа предоставляют интерфейс IMediaStream и зависят от данных. Объект AMMultimediaStream содержит один или несколько потоков мультимедиа.
  • Примеры объектов stream содержат данные для определенного потока.

Поддерживаются следующие объекты потока мультимедиа:

  • Аудиопоток. Предоставляет интерфейс IAudioMediaStream .
  • Поток DirectDraw. Представляет видеопоток, отображаемый на поверхности DirectDraw. Предоставляет интерфейс IDirectDrawMediaStream .
  • Поток типа мультимедиа. Представляет произвольные данные. Предоставляет интерфейс IAMMediaTypeStream .

Каждый объект потока мультимедиа создает собственный тип объекта-образца потока:

  • Аудиопотоки создают примеры звука, предоставляющие интерфейс IAudioStreamSample .
  • Потоки DirectDraw создают примеры DirectDraw, которые предоставляют интерфейс IDirectDrawStreamSample .
  • Потоки типов мультимедиа создают примеры типов мультимедиа, которые предоставляют интерфейс IAMMediaTypeSample .

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

Иерархия интерфейса multimediastreaming