Интерфейс ICodecAPI (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Интерфейс ICodecAPI задает и извлекает параметры в фильтре кодировщика или декодера.
Примечание
API, объявленные в strmif.h, не поддерживаются для приложений универсальная платформа Windows (UWP). Чтобы использовать ICodecAPI в приложении UWP, используйте версию, объявленную в icodecapi.h.
Наследование
Интерфейс ICodecAPI наследуется от интерфейса IUnknown . ICodecAPI также имеет следующие типы членов:
Методы
Интерфейс ICodecAPI содержит следующие методы.
ICodecAPI::GetAllSettings Метод GetAllSettings получает текущие свойства кодека и записывает их в поток. (ICodecAPI.GetAllSettings) |
ICodecAPI::GetDefaultValue Метод GetDefaultValue получает значение по умолчанию свойства кодека. (ICodecAPI.GetDefaultValue) |
ICodecAPI::GetParameterRange Метод GetParameterRange получает диапазон значений для свойства кодека. (ICodecAPI.GetParameterRange) |
ICodecAPI::GetParameterValues Метод GetParameterValues получает список возможных значений для свойства кодека. (ICodecAPI.GetParameterValues) |
ICodecAPI::GetValue Метод GetValue получает текущее значение свойства кодека. |
ICodecAPI::IsModifiable Метод IsModifiable запрашивает возможность изменения свойства кодека с учетом текущей конфигурации кодека. (ICodecAPI.IsModifiable) |
ICodecAPI::IsSupported Метод IsSupported запрашивает, поддерживает ли кодек заданное свойство. (ICodecAPI.IsSupported) |
ICodecAPI::RegisterForEvent Метод RegisterForEvent регистрирует приложение для получения событий от кодека. (ICodecAPI.RegisterForEvent) |
ICodecAPI::SetAllDefaults Метод SetAllDefaults сбрасывает значения по умолчанию для всех свойств кодека. (ICodecAPI.SetAllDefaults) |
ICodecAPI::SetAllDefaultsWithNotify Метод SetAllDefaultsWithNotify сбрасывает все свойства кодека до значений по умолчанию и возвращает список измененных свойств. (ICodecAPI.SetAllDefaultsWithNotify) |
ICodecAPI::SetAllSettings Метод SetAllSettings считывает свойства кодека из потока и задает их для кодека. (ICodecAPI.SetAllSettings) |
ICodecAPI::SetAllSettingsWithNotify Метод SetAllSettingsWithNotify считывает свойства кодека из потока, задает их в кодеке и возвращает список измененных свойств. (ICodecAPI.SetAllSettingsWithNotify) |
ICodecAPI::SetValue Метод SetValue задает значение свойства кодека. (ICodecAPI.SetValue) |
ICodecAPI::SetValueWithNotify Метод SetValueWithNotify задает свойство кодека и возвращает список других свойств, которые были изменены в результате. (ICodecAPI.SetValueWithNotify) |
ICodecAPI::UnregisterForEvent Метод UnregisterForEvent отменяет регистрацию приложения для указанного события кодировщика. (ICodecAPI.UnregisterForEvent) |
Комментарии
Этот интерфейс определяет универсальный механизм настройки свойств кодека (кодировщика или декодера). Свойство кодека — это пара "ключ-значение", где ключ — это GUID, а значение — VARIANT. Интерпретация данных VARIANT зависит от GUID свойства. Список идентификаторов GUID свойств кодека см. в разделе Свойства API кодека.
Профили кодека
Кодеки могут при необходимости хранить сведения о профиле и возможностях в системном реестре. Эти сведения позволяют приложениям запрашивать устройство во время перечисления устройств. Профили по умолчанию хранятся в следующем разделе реестра:HKEY_LOCAL_MACHINE Software Classes CLSID Category ProfilesКаждый профиль является разделом реестра, строка по умолчанию которого представляет собой текстовое описание профиля. Каждое значение имеет имя GUID, за которым следует строковое значение, содержащее числовое значение GUID. Пример:
C++ |
---|
HLKM\Software\Classes\CLSID\<category>\Profiles\DVD default "HQ DVD" REG_SZ {...} = "0" REG_SZ {...} = "1234" |
Возможности кодеков по умолчанию хранятся в разделе HLKM\Software\Classes\CLSID< category>\Instance< Фильтрация CLSID>\Capabilities. Каждое значение имеет имя GUID, за которым следует строковое значение, содержащее числовое значение GUID. Пример:
C++ |
---|
HLKM\Software\Classes\CLSID\<category>\Instance\<My DVD encoder>\Capabilities default "My DVD encoder" REG_SZ_MULTI {...} |
Требования
Минимальная версия клиента | Windows XP с пакетом обновления 2 (SP2) [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 R2 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |