Partager via


Méthode IMFCaptureEngine ::Initialize (mfcaptureengine.h)

Initialise le moteur de capture.

Syntaxe

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

Paramètres

[in] pEventCallback

Pointeur vers l’interface IMFCaptureEngineOnEventCallback . L’appelant doit implémenter cette interface. Le moteur de capture utilise cette interface pour envoyer des événements asynchrones à l’appelant.

[in, optional] pAttributes

Pointeur vers l’interface IMFAttributes . Ce paramètre peut être NULL.

Vous pouvez utiliser ce paramètre pour configurer le moteur de capture. Appelez MFCreateAttributes pour créer un magasin d’attributs, puis définissez l’un des attributs suivants.

[in, optional] pAudioSource

Pointeur IUnknown qui spécifie un périphérique de capture audio. Ce paramètre peut être NULL.

Si vous définissez l’attribut MF_CAPTURE_ENGINE_USE_VIDEO_DEVICE_ONLY sur TRUE dans pAttributes, le moteur de capture n’utilise pas de périphérique audio et le paramètre pAudioSource est ignoré.

Sinon, si pAudioSource a la valeur NULL, le moteur de capture sélectionne le microphone intégré à la caméra vidéo spécifiée par pVideoSource. Si la caméra vidéo n’a pas de microphone, le moteur de capture énumère les périphériques de capture audio sur le système et sélectionne le premier.

Pour remplacer le périphérique audio par défaut, définissez pAudioSource sur un pointeur IMFMediaSource ou IMFActivate pour l’appareil. Pour plus d’informations, consultez Capture audio/vidéo dans Media Foundation.

[in, optional] pVideoSource

Pointeur IUnknown qui spécifie un appareil de capture vidéo. Ce paramètre peut être NULL.

Si vous définissez l’attribut MF_CAPTURE_ENGINE_USE_AUDIO_DEVICE_ONLY sur TRUE dans pAttributes, le moteur de capture n’utilise pas de périphérique vidéo et le paramètre pVideoSource est ignoré.

Sinon, si pVideoSource a la valeur NULL, le moteur de capture énumère les périphériques de capture vidéo sur le système et sélectionne le premier.

Pour remplacer l’appareil vidéo par défaut, définissez pVideoSource sur un pointeur IMFMediaSource ou IMFActivate pour l’appareil. Pour plus d’informations, consultez Énumération des appareils de capture vidéo.

Valeur retournée

Cette méthode peut retourner l’une de ces valeurs.

Code de retour Description
S_OK
Réussite.
MF_E_INVALIDREQUEST
La méthode Initialize a déjà été appelée.
MF_E_NO_CAPTURE_DEVICES_AVAILABLE
Aucun appareil de capture n’est disponible.
MF_E_UNSUPPORTED_CAPTURE_DEVICE_PRESENT
Un périphérique de capture non pris en charge est présent sur le système. Cette erreur ne sera retournée que si NULL est spécifié pour le paramètre pVideoSource , ce qui indique que le système doit sélectionner l’appareil de capture et si aucun périphérique de capture pris en charge n’a déjà été attaché. Il est recommandé que les applications affichent aux utilisateurs un message d’appareil de capture spécifique non pris en charge si cette erreur est retournée, plutôt qu’un message d’échec général.

Remarques

Vous devez appeler cette méthode une fois avant d’utiliser le moteur de capture. L’appel de la méthode une deuxième fois retourne MF_E_INVALIDREQUEST.

Cette méthode est asynchrone. Si la méthode retourne un code de réussite, l’appelant reçoit un événement MF_CAPTURE_ENGINE_INITIALIZED via la méthode IMFCaptureEngineOnEventCallback ::OnEvent . L’opération peut échouer de façon asynchrone une fois la méthode réussie. Dans ce cas, le code d’erreur est transmis par le biais de la méthode OnEvent .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau uniquement]
Plateforme cible Windows
En-tête mfcaptureengine.h

Voir aussi

IMFCaptureEngine