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 인터페이스에 대한 포인터를 받습니다. 호출자는 인터페이스를 해제해야 합니다.
반환 값
이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.
반환 코드 | 설명 |
---|---|
|
성공. |
|
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 | 필수 요소. | 필수 요소. | 필수 요소. |
렌더링 대상 | 다음 중 하나 이러한 특성은 상호 배타적입니다. 이러한 특성 중 하나를 설정하면 미디어 엔진이 렌더링 모드로 전환됩니다. | 설정하지 마세요. | 필수 요소. | 설정하지 마세요. |
Direct3D 형식 | MF_MEDIA_ENGINE_VIDEO_OUTPUT_FORMAT | 필수 요소. | (선택 사항) | 설정하지 마세요. |
Microsoft DXGI(DirectX Graphics Infrastructure) 디바이스 관리자 | MF_MEDIA_ENGINE_DXGI_MANAGER | 선택 사항입니다. | 선택 사항입니다. | 설정하지 마세요. |
미디어 엔진 확장 | MF_MEDIA_ENGINE_EXTENSION | 선택 사항입니다. | 선택 사항입니다. | 선택 사항입니다. |
콘텐츠 보호 | 다음 중 하나: | 선택 사항입니다. | 선택 사항입니다. | 선택 사항입니다. |
오디오 재생 | 다음 중 하나: | 선택 사항입니다. | 선택 사항입니다. | 선택 사항입니다. |
Windows Phone 8
이 API는 지원됩니다.휴대폰에서 미디어 엔진은 프레임 서버 모드만 지원합니다. 렌더링 모드 또는 오디오 모드에서 인터페이스를 초기화하려고 하면 실패합니다.
요구 사항
지원되는 최소 클라이언트 | Windows 8 [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2012 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | mfmediaengine.h |