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


Фильтр полноэкранного отрисовщика

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

Фильтр полноэкранного отрисовщика обеспечивает отрисовку видео в полноэкранном режиме на старом оборудовании. Более новые видеоадаптеры могут растянуть видео достаточно эффективно, что полноэкранный отрисовщик не требуется. Поэтому использование этого фильтра теперь является нерекомендуемой.

Не добавляйте этот фильтр вручную в граф фильтров. Если приложение вызывает IVideoWindow::p ut_FullScreenMode, диспетчер фильтров графов автоматически выбирает соответствующий отрисовщик видео для полноэкранного режима. Выбор является прозрачным для приложения. При использовании текущих видеоадаптеров диспетчер фильтров графов вряд ли выберет полноэкранный отрисовщик.

Метка Значение
Интерфейсы фильтрации IBaseFilter, IFullScreenVideoEx, IMediaPosition, IMediaSeeking, IQualityControl, IQualProp
Типы носителей входных контактов MEDIATYPE_Video, MEDIASUBTYPE_Null
Интерфейсы ввода-закрепления IMemInputPin, IPin, IQualityControl
Типы носителей выводных контактов Неприменимо
Интерфейсы вывода контактов Неприменимо
Фильтр CLSID CLSID_ModexRenderer
CLSID страницы свойств CLSID_ModexProperties
Исполняемый файл quartz.dll
Заслуга MERIT_UNLIKELY
Категория фильтра CLSID_LegacyAmFilterCategory

 

Комментарии

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

Режим Ширина Высота: глубину в битах.
0 320 200 16
1 320 200 8
2 320 240 16
3 320 240 8
4 640 400 16
5 640 400 8
6 640 480 16
7 640 480 8
8 800 600 16
9 800 600 8
10 1024 768 16
11 1024 768 8
12 1152 864 16
13 1152 864 8
14 1280 1024 16
15 1280 1024 8

 

(Все режимы — RGB.) Однако этот список может быть изменен. Используйте метод IFullScreenVideoEx::GetModeInfo для получения сведений о режимах. Полноэкранный отрисовщик всегда выбирает доступный режим с наименьшим разрешением, ограниченный свойством, которое называется коэффициентом клипа, которое определяет, сколько видео разрешено обрезать полноэкранным отрисовщиком. Дополнительные сведения см. в разделе IFullScreenVideoEx::GetClipFactor.

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

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

Фильтры DirectShow