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


Класс CEnumMediaTypes

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

Иерархия классов cenummediatypes

Класс CEnumMediaTypes реализует перечислитель для предпочтительных типов мультимедиа.

Этот класс реализует интерфейс IEnumMediaTypes . Он вызывает следующие методы CBasePin :

  • CBasePin::GetMediaType:Извлекает тип мультимедиа, на который ссылается отсчитываемый от нуля индекс.
  • CBasePin::GetMediaTypeVersion: определяет, изменился ли набор предпочтительных типов.

Всякий раз, когда контакт изменяет свой список предпочтительных типов мультимедиа, контакт увеличивает номер версии типа носителя. В этом случае объект перечислителя больше не синхронизируется с закреплением, а методы класса возвращают VFW_E_ENUM_OUT_OF_SYNC. Вызовите метод CEnumMediaTypes::Reset для повторной синхронизации перечислителя.

Открытые методы Описание
CEnumMediaTypes Метод конструктора.
~CEnumMediaTypes Метод деструктора. Виртуальной.
Методы IEnumMediaTypes Описание
Clone Создает копию перечислителя с тем же состоянием перечисления.
Далее Извлекает указанное количество типов мультимедиа.
Reset Сбрасывает последовательность перечисления в начало.
Пропустить Пропускает указанное количество типов носителей.

Требования

Требование Значение
Заголовок
Amfilter.h (включая Streams.h)
Библиотека
Strmbase.lib (розничные сборки);
Strmbasd.lib (отладочные сборки)