Объект потоковой передачи мультимедиа и иерархия интерфейса
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Примечание
Эти API являются устаревшими. Приложения должны использовать фильтр Sample Grabber или реализовать пользовательский фильтр для получения данных из графа фильтра DirectShow.
На следующей схеме показана иерархия объектов, используемая в потоковой передаче мультимедиа.
Архитектура потоковой передачи мультимедиа определяет три общих типа объекта:
- Объект AMMultimediaStream предоставляет интерфейс IAMMultiMediaStream . Внутри этого объекта выполняется оболочка графа фильтра DirectShow.
- Объекты потоков мультимедиа предоставляют интерфейс IMediaStream и зависят от данных. Объект AMMultimediaStream содержит один или несколько потоков мультимедиа.
- Примеры объектов stream содержат данные для определенного потока.
Поддерживаются следующие объекты потока мультимедиа:
- Аудиопоток. Предоставляет интерфейс IAudioMediaStream .
- Поток DirectDraw. Представляет видеопоток, отображаемый на поверхности DirectDraw. Предоставляет интерфейс IDirectDrawMediaStream .
- Поток типа мультимедиа. Представляет произвольные данные. Предоставляет интерфейс IAMMediaTypeStream .
Каждый объект потока мультимедиа создает собственный тип объекта-образца потока:
- Аудиопотоки создают примеры звука, предоставляющие интерфейс IAudioStreamSample .
- Потоки DirectDraw создают примеры DirectDraw, которые предоставляют интерфейс IDirectDrawStreamSample .
- Потоки типов мультимедиа создают примеры типов мультимедиа, которые предоставляют интерфейс IAMMediaTypeSample .
На следующей схеме показана иерархия интерфейсов, перечисленных ранее.