共用方式為


IMFCaptureEngine::Initialize 方法 (mfcaptureengine.h)

初始化擷取引擎。

語法

HRESULT Initialize(
  [in]           IMFCaptureEngineOnEventCallback *pEventCallback,
  [in, optional] IMFAttributes                   *pAttributes,
  [in, optional] IUnknown                        *pAudioSource,
  [in, optional] IUnknown                        *pVideoSource
);

參數

[in] pEventCallback

IMFCaptureEngineOnEventCallback 介面的指標。 呼叫端必須實作這個介面。 擷取引擎會使用此介面將異步事件傳送至呼叫端。

[in, optional] pAttributes

IMFAttributes 介面的指標。 此參數可以是 Null

您可以使用此參數來設定擷取引擎。 呼叫 MFCreateAttributes 以建立屬性存放區,然後設定下列任何屬性。

[in, optional] pAudioSource

指定音訊擷取裝置的 IUnknown 指標。 此參數可以是 Null

如果您在 pAttributes將 MF_CAPTURE_ENGINE_USE_VIDEO_DEVICE_ONLY 屬性設定為 TRUE,則擷取引擎不會使用音訊裝置,而且會忽略 pAudioSource 參數。

否則,如果 pAudioSourceNULL,擷取引擎會選取 pVideoSource 所指定視訊相機內建的麥克風。 如果攝影機沒有麥克風,擷取引擎會列舉系統上的音訊擷取裝置,並選取第一個裝置。

若要覆寫預設音訊裝置,請將 pAudioSource 設定為 裝置的 IMFMediaSourceIMFActivate 指標。 如需詳細資訊,請參閱 Media Foundation 中的音訊/視訊擷取

[in, optional] pVideoSource

指定視訊擷取裝置的 IUnknown 指標。 此參數可以是 Null

如果您在 pAttributes將 MF_CAPTURE_ENGINE_USE_AUDIO_DEVICE_ONLY 屬性設定為 TRUE,則擷取引擎不會使用視訊裝置,而且會忽略 pVideoSource 參數。

否則,如果 pVideoSourceNULL,擷取引擎會列舉系統上的視訊擷取裝置,並選取第一個。

若要覆寫預設視訊裝置,請將 pVideoSource 設定為裝置的 IMFMediaSourceIMFActivate 指標。 如需詳細資訊,請參閱 列舉視訊擷取裝置

傳回值

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

傳回碼 描述
S_OK
成功。
MF_E_INVALIDREQUEST
已呼叫 Initialize 方法。
MF_E_NO_CAPTURE_DEVICES_AVAILABLE
沒有可用的擷取裝置。
MF_E_UNSUPPORTED_CAPTURE_DEVICE_PRESENT
系統上存在不支援的擷取裝置。 只有在為 pVideoSource 參數指定 NULL 時,才會傳回此錯誤,指出系統應該挑選擷取裝置,如果尚未連結任何支援的擷取裝置,則傳回此錯誤。 如果傳回此錯誤,建議應用程式向用戶顯示特定的不支援擷取裝置訊息,而不是一般失敗訊息。

備註

使用擷取引擎之前,您必須先呼叫這個方法一次。 第二次呼叫 方法會傳回 MF_E_INVALIDREQUEST

這個方法是非同步方法。 如果方法傳回成功碼,呼叫端會透過IMFCaptureEngineOnEventCallback::OnEvent方法收到MF_CAPTURE_ENGINE_INITIALIZED事件。 方法成功之後,作業可能會以異步方式失敗。 如果是,則會透過 OnEvent 方法傳達錯誤碼。

規格需求

需求
最低支援的用戶端 Windows 8 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2012 [僅限傳統型應用程式]
目標平台 Windows
標頭 mfcaptureengine.h

另請參閱

IMFCaptureEngine