Freigeben über


IMFCaptureEngine::Initialize-Methode (mfcaptureengine.h)

Initialisiert die Erfassungs-Engine.

Syntax

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

Parameter

[in] pEventCallback

Ein Zeiger auf die IMFCaptureEngineOnEventCallback-Schnittstelle . Der Aufrufer muss diese Schnittstelle implementieren. Die Erfassungs-Engine verwendet diese Schnittstelle, um asynchrone Ereignisse an den Aufrufer zu senden.

[in, optional] pAttributes

Ein Zeiger auf die IMFAttributes-Schnittstelle . Dieser Parameter kann NULL sein.

Sie können diesen Parameter verwenden, um die Erfassungs-Engine zu konfigurieren. Rufen Sie MFCreateAttributes auf, um einen Attributspeicher zu erstellen, und legen Sie dann eines der folgenden Attribute fest.

[in, optional] pAudioSource

Ein IUnknown-Zeiger , der ein Audioaufnahmegerät angibt. Dieser Parameter kann NULL sein.

Wenn Sie das MF_CAPTURE_ENGINE_USE_VIDEO_DEVICE_ONLY-Attribut in pAttributes auf TRUE festlegen, verwendet die Erfassungs-Engine kein Audiogerät, und der pAudioSource-Parameter wird ignoriert.

Andernfalls wählt die Aufnahme-Engine das Mikrofon aus, das in die von pVideoSource angegebene Videokamera integriert ist, wenn pAudioSourceNULL ist. Wenn die Videokamera kein Mikrofon hat, listet die Aufnahme-Engine die Audioaufnahmegeräte auf dem System auf und wählt das erste aus.

Um das Standardaudiogerät zu überschreiben, legen Sie pAudioSource auf einen IMFMediaSource - oder IMFActivate-Zeiger für das Gerät fest. Weitere Informationen finden Sie unter Audio/Video Capture in Media Foundation.

[in, optional] pVideoSource

Ein IUnknown-Zeiger , der ein Videoaufnahmegerät angibt. Dieser Parameter kann NULL sein.

Wenn Sie das MF_CAPTURE_ENGINE_USE_AUDIO_DEVICE_ONLY-Attribut in pAttributes auf TRUE festlegen, verwendet die Erfassungs-Engine kein Videogerät, und der pVideoSource-Parameter wird ignoriert.

Andernfalls zählt die Erfassungs-Engine die Videoaufnahmegeräte auf dem System auf, wenn pVideoSourceNULL ist, und wählt das erste aus.

Um das Standardvideogerät zu überschreiben, legen Sie pVideoSource auf einen IMFMediaSource - oder IMFActivate-Zeiger für das Gerät fest. Weitere Informationen finden Sie unter Aufzählen von Videoaufnahmegeräten.

Rückgabewert

Diese Methode kann einen dieser Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Erfolg.
MF_E_INVALIDREQUEST
Die Initialize-Methode wurde bereits aufgerufen.
MF_E_NO_CAPTURE_DEVICES_AVAILABLE
Es sind keine Erfassungsgeräte verfügbar.
MF_E_UNSUPPORTED_CAPTURE_DEVICE_PRESENT
Ein nicht unterstütztes Erfassungsgerät ist auf dem System vorhanden. Dieser Fehler wird nur zurückgegeben, wenn NULL für den pVideoSource-Parameter angegeben ist, der angibt, dass das System das Erfassungsgerät auswählen soll, und wenn bereits kein unterstütztes Erfassungsgerät angefügt wurde. Es wird empfohlen, dass Apps Benutzern eine bestimmte nicht unterstützte Erfassungsgerätenachricht anzeigen, wenn dieser Fehler zurückgegeben wird, anstatt eine allgemeine Fehlermeldung anzuzeigen.

Hinweise

Sie müssen diese Methode einmal aufrufen, bevor Sie die Erfassungs-Engine verwenden. Durch das zweite Aufrufen der Methode wird MF_E_INVALIDREQUEST zurückgegeben.

Diese Methode ist asynchron. Wenn die Methode einen Erfolgscode zurückgibt, empfängt der Aufrufer über die IMFCaptureEngineOnEventCallback::OnEvent-Methode ein MF_CAPTURE_ENGINE_INITIALIZED-Ereignis. Der Vorgang kann asynchron fehlschlagen, nachdem die Methode erfolgreich war. Wenn ja, wird der Fehlercode über die OnEvent-Methode übermittelt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile mfcaptureengine.h

Weitere Informationen

IMFCaptureEngine