다음을 통해 공유


IMFMediaEngineClassFactory::CreateInstance 메서드(mfmediaengine.h)

미디어 엔진의 새 instance 만듭니다.

구문

HRESULT CreateInstance(
  [in]  DWORD          dwFlags,
  [in]  IMFAttributes  *pAttr,
  [out] IMFMediaEngine **ppPlayer
);

매개 변수

[in] dwFlags

MF_MEDIA_ENGINE_CREATEFLAGS 열거형에서 0개 이상의 플래그가 있는 비트 OR입니다.

[in] pAttr

특성 저장소의 IMFAttributes 인터페이스에 대한 포인터입니다.

이 매개 변수는 미디어 엔진에 대한 구성 특성을 지정합니다. MFCreateAttributes를 호출하여 특성 저장소를 만듭니다. 그런 다음 미디어 엔진 특성 목록에서 하나 이상의 특성을 설정합니다. 자세한 내용은 설명을 참조하세요.

[out] ppPlayer

IMFMediaEngine 인터페이스에 대한 포인터를 받습니다. 호출자는 인터페이스를 해제해야 합니다.

반환 값

이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.

반환 코드 설명
S_OK
성공.
MF_E_ATTRIBUTENOTFOUND
pAttr에서 필수 특성이 누락되었거나 잘못된 특성 조합이 사용되었습니다.

설명

이 메서드를 호출하기 전에 MFStartup을 호출합니다.

미디어 엔진은 세 가지 고유 모드를 지원합니다.

Mode Description
프레임 서버 모드 이 모드에서 미디어 엔진은 압축되지 않은 비디오 프레임을 애플리케이션에 제공합니다. 애플리케이션은 Microsoft Direct3D 또는 기타 렌더링 기술을 사용하여 각 프레임을 표시해야 합니다.

미디어 엔진은 오디오를 렌더링합니다. 애플리케이션은 오디오 렌더링을 담당하지 않습니다.

프레임 서버 모드는 기본 모드입니다.

렌더링 모드 이 모드에서 미디어 엔진은 오디오와 비디오를 모두 렌더링합니다. 비디오는 애플리케이션에서 제공하는 창 또는 Microsoft DirectComposition 시각적 개체로 렌더링됩니다.

렌더링 모드를 사용하도록 설정하려면 MF_MEDIA_ENGINE_PLAYBACK_HWND 특성 또는 MF_MEDIA_ENGINE_PLAYBACK_VISUAL 특성을 설정합니다.

오디오 모드 이 모드에서 미디어 엔진은 비디오 없이 오디오만 렌더링합니다.

오디오 모드를 사용하도록 설정하려면 dwFlags 매개 변수에서 MF_MEDIA_ENGINE_AUDIOONLY 플래그를 설정합니다.

 

초기화 특성

다음 특성은 pAttr 매개 변수에 대해 정의됩니다. 일부는 필수이며, 일부는 원하는 모드에 따라 선택 사항입니다.
기능 특성 프레임 서버 모드 렌더링 모드 오디오 모드
이벤트 콜백 MF_MEDIA_ENGINE_CALLBACK 필수 요소. 필수 요소. 필수 요소.
렌더링 대상 다음 중 하나
MF_MEDIA_ENGINE_PLAYBACK_HWND
MF_MEDIA_ENGINE_PLAYBACK_VISUAL
이러한 특성은 상호 배타적입니다. 이러한 특성 중 하나를 설정하면 미디어 엔진이 렌더링 모드로 전환됩니다.
설정하지 마세요. 필수 요소. 설정하지 마세요.
Direct3D 형식 MF_MEDIA_ENGINE_VIDEO_OUTPUT_FORMAT 필수 요소. (선택 사항) 설정하지 마세요.
Microsoft DXGI(DirectX Graphics Infrastructure) 디바이스 관리자 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는 지원됩니다.

휴대폰에서 미디어 엔진은 프레임 서버 모드만 지원합니다. 렌더링 모드 또는 오디오 모드에서 인터페이스를 초기화하려고 하면 실패합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 8 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2012 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 mfmediaengine.h

참고 항목

IMFMediaEngineClassFactory