IMFMediaEngineClassFactory::CreateInstance メソッド (mfmediaengine.h)

メディア エンジンの新しいインスタンスを作成します。

構文

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

パラメーター

[in] dwFlags

MF_MEDIA_ENGINE_CREATEFLAGS列挙からの 0 個以上のフラグのビットごとの OR

[in] pAttr

属性ストアの IMFAttributes インターフェイスへのポインター。

このパラメーターは、メディア エンジンの構成属性を指定します。 MFCreateAttributes を呼び出して属性ストアを作成します。 次に、メディア エンジン属性の一覧から 1 つ以上の 属性を設定します。 詳細については、「解説」を参照してください。

[out] ppPlayer

IMFMediaEngine インターフェイスへのポインターを受け取ります。 呼び出し元はインターフェイスを解放する必要があります。

戻り値

このメソッドは、これらの値のいずれかを返すことができます。

リターン コード 説明
S_OK
正常終了しました。
MF_E_ATTRIBUTENOTFOUND
pAttr に必要な属性がないか、無効な属性の組み合わせが使用されました。

解説

このメソッドを呼び出す前に、 MFStartup を呼び出します。

メディア エンジンでは、次の 3 つの異なるモードがサポートされています。

モード 説明
フレーム サーバー モード このモードでは、メディア エンジンは圧縮されていないビデオ フレームをアプリケーションに配信します。 アプリケーションは、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 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 はサポートされています。

電話では、メディア エンジンはフレーム サーバー モードのみをサポートします。 レンダリング モードまたはオーディオ モードでインターフェイスを初期化しようとすると失敗します。

要件

   
サポートされている最小のクライアント Windows 8 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー mfmediaengine.h

関連項目

IMFMediaEngineClassFactory