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 インターフェイスへのポインターを受け取ります。 呼び出し元はインターフェイスを解放する必要があります。
戻り値
このメソッドは、これらの値のいずれかを返すことができます。
リターン コード | 説明 |
---|---|
|
正常終了しました。 |
|
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 | 必須です。 | 必須です。 | 必須です。 |
レンダー ターゲット | 次のいずれか: これらの属性は相互に排他的です。 これらの属性のいずれかを設定すると、メディア エンジンはレンダリング モードになります。 | 設定しないでください。 | 必須です。 | 設定しないでください。 |
Direct3D 形式 | MF_MEDIA_ENGINE_VIDEO_OUTPUT_FORMAT | 必須です。 | 省略可能。 | 設定しないでください。 |
Microsoft DirectX グラフィックス インフラストラクチャ (DXGI) デバイス マネージャー | MF_MEDIA_ENGINE_DXGI_MANAGER | 省略可能。 | 省略可能。 | 設定しないでください。 |
メディア エンジン拡張機能 | MF_MEDIA_ENGINE_EXTENSION | 省略可能。 | 省略可能。 | 省略可能。 |
コンテンツの保護 | 次のいずれかになります。 | 省略可能。 | 省略可能。 | 省略可能。 |
オーディオ再生 | 次のいずれかになります。 | 省略可能。 | 省略可能。 | 省略可能。 |
Windows Phone 8
この API はサポートされています。電話では、メディア エンジンはフレーム サーバー モードのみをサポートします。 レンダリング モードまたはオーディオ モードでインターフェイスを初期化しようとすると失敗します。
要件
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | mfmediaengine.h |