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 を呼び出して属性ストアを作成し、次のいずれかの属性を設定します。
- MF_CAPTURE_ENGINE_D3D_MANAGER
- MF_CAPTURE_ENGINE_DISABLE_DXVA
- MF_CAPTURE_ENGINE_DISABLE_HARDWARE_TRANSFORMS
- MF_CAPTURE_ENGINE_ENCODER_MFT_FIELDOFUSE_UNLOCK_Attribute
- MF_CAPTURE_ENGINE_EVENT_GENERATOR_GUID
- MF_CAPTURE_ENGINE_EVENT_STREAM_INDEX
- MF_CAPTURE_ENGINE_MEDIASOURCE_CONFIG
- MF_CAPTURE_ENGINE_RECORD_SINK_AUDIO_MAX_PROCESSED_SAMPLES
- MF_CAPTURE_ENGINE_RECORD_SINK_AUDIO_MAX_UNPROCESSED_SAMPLES
- MF_CAPTURE_ENGINE_RECORD_SINK_VIDEO_MAX_PROCESSED_SAMPLES
- MF_CAPTURE_ENGINE_RECORD_SINK_VIDEO_MAX_UNPROCESSED_SAMPLES
- MF_CAPTURE_ENGINE_USE_AUDIO_DEVICE_ONLY
- MF_CAPTURE_ENGINE_USE_VIDEO_DEVICE_ONLY
[in, optional] pAudioSource
オーディオ キャプチャ デバイスを指定する IUnknown ポインター。 このパラメーターは、NULL でもかまいません。
pAttributes で MF_CAPTURE_ENGINE_USE_VIDEO_DEVICE_ONLY 属性を TRUE に設定した場合、キャプチャ エンジンはオーディオ デバイスを使用せず、pAudioSource パラメーターは無視されます。
それ以外の場合、 pAudioSource が NULL の場合、キャプチャ エンジンは pVideoSource で指定されたビデオ カメラに組み込まれているマイクを選択します。 ビデオ カメラにマイクがない場合、キャプチャ エンジンはシステム上のオーディオ キャプチャ デバイスを列挙し、最初のデバイスを選択します。
既定のオーディオ デバイスをオーバーライドするには、 pAudioSource をデバイスの IMFMediaSource または IMFActivate ポインターに設定します。 詳細については、「 Media Foundation のオーディオ/ビデオ キャプチャ」を参照してください。
[in, optional] pVideoSource
ビデオ キャプチャ デバイスを指定する IUnknown ポインター。 このパラメーターは、NULL でもかまいません。
pAttributes で MF_CAPTURE_ENGINE_USE_AUDIO_DEVICE_ONLY 属性を TRUE に設定した場合、キャプチャ エンジンはビデオ デバイスを使用せず、pVideoSource パラメーターは無視されます。
それ以外の場合、 pVideoSource が NULL の場合、キャプチャ エンジンはシステム上のビデオ キャプチャ デバイスを列挙し、最初のデバイスを選択します。
既定のビデオ デバイスをオーバーライドするには、 pVideoSource をデバイスの IMFMediaSource または IMFActivate ポインターに設定します。 詳細については、「 ビデオ キャプチャ デバイスの列挙」を参照してください。
戻り値
このメソッドは、これらの値のいずれかを返すことができます。
リターン コード | 説明 |
---|---|
|
正常終了しました。 |
|
Initialize メソッドは既に呼び出されています。 |
|
キャプチャ デバイスは使用できません。 |
|
サポートされていないキャプチャ デバイスがシステムに存在します。 このエラーは、 pVideoSource パラメーターに NULL が指定され、システムがキャプチャ デバイスを選択する必要があることを示し、サポートされているキャプチャ デバイスが既にアタッチされていない場合にのみ返されます。 一般的なエラー メッセージではなく、このエラーが返された場合は、アプリでサポートされていない特定のキャプチャ デバイス メッセージをユーザーに表示することをお勧めします。 |
注釈
キャプチャ エンジンを使用する前に、このメソッドを 1 回呼び出す必要があります。 メソッドを 2 回目に呼び出すと 、MF_E_INVALIDREQUESTが返されます。
このメソッドは非同期です。 メソッドが成功コードを返した場合、呼び出し元は IMFCaptureEngineOnEventCallback::OnEvent メソッドを介してMF_CAPTURE_ENGINE_INITIALIZED イベントを受け取ります。 メソッドが成功した後、操作は非同期的に失敗する可能性があります。 その場合、エラー コードは OnEvent メソッドを介して伝達されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | mfcaptureengine.h |