Метод 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 . Вызывающий объект должен освободить интерфейс .

Возвращаемое значение

Этот метод может возвращать одно из этих значений.

Код возврата Описание
S_OK
Успешно.
MF_E_ATTRIBUTENOTFOUND
В 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 Обязательный. Обязательный. Обязательный.
Целевой объект отрисовки Это может быть:
MF_MEDIA_ENGINE_PLAYBACK_HWND
MF_MEDIA_ENGINE_PLAYBACK_VISUAL
Эти атрибуты являются взаимоисключающими. Установка любого из этих атрибутов переводит обработчик мультимедиа в режим отрисовки.
Не задавайте. Обязательный. Не задавайте.
Формат Direct3D MF_MEDIA_ENGINE_VIDEO_OUTPUT_FORMAT Обязательный. Необязательный элемент. Не задавайте.
Диспетчер устройств инфраструктуры графики Microsoft DirectX (DXGI) MF_MEDIA_ENGINE_DXGI_MANAGER Необязательный элемент. Необязательный элемент. Не задавайте.
Расширения обработчика мультимедиа MF_MEDIA_ENGINE_EXTENSION Необязательный элемент. Необязательный элемент. Необязательный элемент.
Защита содержимого Любое из следующих:
MF_MEDIA_ENGINE_OPM_HWND
MF_MEDIA_ENGINE_CONTENT_PROTECTION_FLAGS
MF_MEDIA_ENGINE_CONTENT_PROTECTION_MANAGER
Необязательный элемент. Необязательный элемент. Необязательный элемент.
Воспроизведение звука Любое из следующих:
MF_MEDIA_ENGINE_AUDIO_CATEGORY
MF_MEDIA_ENGINE_AUDIO_ENDPOINT_ROLE
Необязательный элемент. Необязательный элемент. Необязательный элемент.
 

Windows Phone 8

Этот API поддерживается.

На телефоне обработчик мультимедиа поддерживает только режим frame-server. Попытка инициализировать интерфейс в режиме отрисовки или в режиме звука завершится ошибкой.

Требования

   
Минимальная версия клиента Windows 8 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2012 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header mfmediaengine.h

См. также раздел

IMFMediaEngineClassFactory