Метод IMFMediaEngineClassFactory::CreateInstance (mfmediaengine.h)
Создает новый экземпляр обработчика мультимедиа.
Синтаксис
HRESULT CreateInstance(
[in] DWORD dwFlags,
[in] IMFAttributes *pAttr,
[out] IMFMediaEngine **ppPlayer
);
Параметры
[in] dwFlags
Побитовое ЗНАЧЕНИЕ ИЛИ , равное нулю или более флагам из перечисления MF_MEDIA_ENGINE_CREATEFLAGS .
[in] pAttr
Указатель на интерфейс IMFAttributes хранилища атрибутов.
Этот параметр задает атрибуты конфигурации для обработчика мультимедиа. Вызовите MFCreateAttributes , чтобы создать хранилище атрибутов. Затем задайте один или несколько атрибутов из списка атрибутов обработчика мультимедиа. Дополнительные сведения см. в разделе "Заметки".
[out] ppPlayer
Получает указатель на интерфейс IMFMediaEngine . Вызывающий объект должен освободить интерфейс .
Возвращаемое значение
Этот метод может возвращать одно из этих значений.
Код возврата | Описание |
---|---|
|
Успешно. |
|
В pAttr отсутствовал обязательный атрибут или использовалась недопустимая комбинация атрибутов. |
Комментарии
Перед вызовом этого метода вызовите MFStartup.
Обработчик мультимедиа поддерживает три различных режима:
Режим | Описание |
---|---|
Режим сервера фрейма |
В этом режиме обработчик мультимедиа доставляет в приложение несжатые видеокадры. Приложение отвечает за отображение каждого кадра с помощью Microsoft Direct3D или любого другого метода отрисовки.
Обработчик мультимедиа отрисовывает звук; приложение не несет ответственности за отрисовку звука. Режим frame-server является режимом по умолчанию. |
Режим отрисовки |
В этом режиме обработчик мультимедиа отрисовывает как аудио, так и видео. Видео отображается в окне или визуальном элементе Microsoft DirectComposition, предоставляемом приложением.
Чтобы включить режим отрисовки, задайте атрибут MF_MEDIA_ENGINE_PLAYBACK_HWND или атрибут MF_MEDIA_ENGINE_PLAYBACK_VISUAL . |
Звуковой режим |
В этом режиме обработчик мультимедиа отрисовывает только звук без видео.
Чтобы включить звуковой режим, установите флаг MF_MEDIA_ENGINE_AUDIOONLY в параметре dwFlags . |
Атрибуты инициализации
Для параметра pAttr определены следующие атрибуты. Некоторые из них являются обязательными, а некоторые — необязательными в зависимости от нужного режима.Компонент | Атрибуты | Режим сервера кадров | Режим отрисовки | Звуковой режим |
---|---|---|---|---|
Обратный вызов события | MF_MEDIA_ENGINE_CALLBACK | Обязательный. | Обязательный. | Обязательный. |
Целевой объект отрисовки | Это может быть: Эти атрибуты являются взаимоисключающими. Установка любого из этих атрибутов переводит обработчик мультимедиа в режим отрисовки. | Не задавайте. | Обязательный. | Не задавайте. |
Формат Direct3D | MF_MEDIA_ENGINE_VIDEO_OUTPUT_FORMAT | Обязательный. | Необязательный элемент. | Не задавайте. |
Диспетчер устройств инфраструктуры графики Microsoft DirectX (DXGI) | MF_MEDIA_ENGINE_DXGI_MANAGER | Необязательный элемент. | Необязательный элемент. | Не задавайте. |
Расширения обработчика мультимедиа | MF_MEDIA_ENGINE_EXTENSION | Необязательный элемент. | Необязательный элемент. | Необязательный элемент. |
Защита содержимого | Любое из следующих: | Необязательный элемент. | Необязательный элемент. | Необязательный элемент. |
Воспроизведение звука | Любое из следующих: | Необязательный элемент. | Необязательный элемент. | Необязательный элемент. |
Windows Phone 8
Этот API поддерживается.На телефоне обработчик мультимедиа поддерживает только режим frame-server. Попытка инициализировать интерфейс в режиме отрисовки или в режиме звука завершится ошибкой.
Требования
Минимальная версия клиента | Windows 8 [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2012 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | mfmediaengine.h |