Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Класс CBaseFilter является абстрактным классом для реализации фильтров. Чтобы реализовать фильтр с помощью этого класса, необходимо выполнить по крайней мере следующие действия:
- Наследуйте новый класс от
CBaseFilter. - Включите переменные-члены, определяющие контакты в фильтре. Контакты должны наследоваться от класса CBasePin .
- Переопределите чистый виртуальный метод CBaseFilter::GetPin, который извлекает контакты на фильтре.
- Переопределите чистый виртуальный метод CBaseFilter::GetPinCount, который извлекает количество контактов.
- Предоставляет методы для создания, обработки или отрисовки примеров мультимедиа.
Несколько базовых классов являются производными от CBaseFilter, включая CSource, CBaseRenderer и CTransformFilter. Обычно проще реализовать фильтр с помощью одного из этих специализированных классов, а не использовать CBaseFilter напрямую.
| Защищенные переменные-члены | Описание |
|---|---|
| m_State | Текущее состояние фильтра. |
| m_pClock | Указатель на эталонные часы фильтра. |
| m_tStart | Время ссылки, соответствующее времени потока 0. |
| m_clsid | Идентификатор класса (CLSID) фильтра. |
| m_pLock | Указатель на критически важный раздел, используемый для сериализации изменений состояния. |
| m_pName | Имя фильтра. |
| m_pGraph | Указатель на диспетчер графов фильтров. |
| m_pSink | Указатель на интерфейс IMediaEventSink в диспетчере графов фильтров. |
| m_PinVersion | Текущая версия набора контактов на этом фильтре. |
| Открытые методы | Описание |
| CBaseFilter | Метод конструктора. |
| ~ CBaseFilter | Метод деструктора. |
| StreamTime | Извлекает текущее время потока. Виртуальной. |
| Isactive | Определяет, активен ли фильтр (запущен или приостановлен). |
| IsStopped | Определяет, остановлен ли фильтр в данный момент. |
| NotifyEvent | Отправляет уведомление о событии диспетчеру графов фильтров. |
| GetFilterGraph | Извлекает указатель на диспетчер графов фильтров. |
| Повторное подключение | Разрывает существующее соединение контактов и повторно подключает его к тому же контакту, используя указанный тип носителя. |
| GetPinVersion | Извлекает номер версии для набора контактов в этом фильтре. Виртуальной. |
| IncrementPinVersion | Увеличивает номер версии в наборе контактов. |
| GetSetupData | Извлекает данные регистрации для фильтра. Виртуальной. |
| Чистые виртуальные методы | Описание |
| GetPinCount | Извлекает количество контактов. |
| GetPin | Извлекает закрепление. |
| Методы IPersist | Описание |
| GetClassID | Извлекает идентификатор класса. |
| Методы IMediaFilter | Описание |
| GetState | Извлекает состояние фильтра (выполняется, остановлено или приостановлено). |
| SetSyncSource | Задает эталонные часы для фильтра. |
| GetSyncSource | Извлекает эталонные часы, которые использует фильтр. |
| Остановить | Останавливает фильтр. |
| Пауза | Приостанавливает фильтр. |
| Выполнить | Запускает фильтр. |
| Методы IBaseFilter | Описание |
| EnumPins | Перечисляет контакты в этом фильтре. |
| FindPin | Извлекает пин-код с указанным идентификатором. |
| QueryFilterInfo | Извлекает сведения о фильтре. |
| JoinFilterGraph | Уведомляет фильтр о том, что он присоединился к графу фильтра или покинул его. |
| QueryVendorInfo | Извлекает строку, содержащую сведения о поставщике. |
| Методы IAMovieSetup | Описание |
| Зарегистрировать | Добавляет фильтр в реестр. |
| Unregister; | Удаляет фильтр из реестра. |
Требования
| Требование | Значение |
|---|---|
| Заголовок |
|
| Библиотека |
|