共用方式為


IMFMediaEngineClassFactory::CreateInstance 方法 (mfmediaengine.h)

建立媒體引擎的新實例。

語法

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

參數

[in] dwFlags

MF_MEDIA_ENGINE_CREATEFLAGS列舉中零個或多個旗標的位OR

[in] pAttr

屬性存放區 之 IMFAttributes 介面的指標。

此參數會指定媒體引擎的組態屬性。 呼叫 MFCreateAttributes 以建立屬性存放區。 然後,從 媒體引擎屬性清單中設定一或多個屬性。 如需詳細資料,請參閱<備註>。

[out] ppPlayer

接收 IMFMediaEngine 介面的指標。 呼叫端必須釋放 介面。

傳回值

這個方法可以傳回下列其中一個值。

傳回碼 描述
S_OK
成功。
MF_E_ATTRIBUTENOTFOUND
pAttr遺漏必要的屬性,或使用了不正確屬性組合。

備註

呼叫此方法之前,請先呼叫 MFStartup

媒體引擎支援三種不同的模式:

[模式] 描述
框架伺服器模式 在此模式中,媒體引擎會將未壓縮的視訊畫面傳遞至應用程式。 應用程式會負責使用 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 Graphics Infrastructure (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