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.
- 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
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 |
---|---|
|
Réussite. |
|
La méthode Initialize a déjà été appelée. |
|
Aucun appareil de capture n’est disponible. |
|
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 |