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

Inicializa el motor de captura.

Sintaxis

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

Parámetros

[in] pEventCallback

Puntero a la interfaz IMFCaptureEngineOnEventCallback . El autor de la llamada debe implementar esta interfaz. El motor de captura usa esta interfaz para enviar eventos asincrónicos al autor de la llamada.

[in, optional] pAttributes

Puntero a la interfaz IMFAttributes . Este parámetro puede ser NULL.

Puede usar este parámetro para configurar el motor de captura. Llame a MFCreateAttributes para crear un almacén de atributos y, a continuación, establezca cualquiera de los atributos siguientes.

[in, optional] pAudioSource

Puntero IUnknown que especifica un dispositivo de captura de audio. Este parámetro puede ser NULL.

Si establece el atributo MF_CAPTURE_ENGINE_USE_VIDEO_DEVICE_ONLY en TRUE en pAttributes, el motor de captura no usa un dispositivo de audio y se omite el parámetro pAudioSource .

De lo contrario, si pAudioSource es NULL, el motor de captura selecciona el micrófono integrado en la cámara de vídeo especificada por pVideoSource. Si la cámara de vídeo no tiene un micrófono, el motor de captura enumera los dispositivos de captura de audio en el sistema y selecciona el primero.

Para invalidar el dispositivo de audio predeterminado, establezca pAudioSource en un puntero IMFMediaSource o IMFActivate para el dispositivo. Para obtener más información, vea Audio/Video Capture in Media Foundation.

[in, optional] pVideoSource

Puntero IUnknown que especifica un dispositivo de captura de vídeo. Este parámetro puede ser NULL.

Si establece el atributo MF_CAPTURE_ENGINE_USE_AUDIO_DEVICE_ONLY en TRUE en pAttributes, el motor de captura no usa un dispositivo de vídeo y se omite el parámetro pVideoSource .

De lo contrario, si pVideoSource es NULL, el motor de captura enumera los dispositivos de captura de vídeo en el sistema y selecciona el primero.

Para invalidar el dispositivo de vídeo predeterminado, establezca pVideoSource en un puntero IMFMediaSource o IMFActivate para el dispositivo. Para obtener más información, vea Enumeración de dispositivos de captura de vídeo.

Valor devuelto

Este método puede devolver uno de estos valores.

Código devuelto Descripción
S_OK
Correcto.
MF_E_INVALIDREQUEST
Ya se llamó al método Initialize .
MF_E_NO_CAPTURE_DEVICES_AVAILABLE
No hay dispositivos de captura disponibles.
MF_E_UNSUPPORTED_CAPTURE_DEVICE_PRESENT
Un dispositivo de captura no compatible está presente en el sistema. Este error solo se devolverá si se especifica NULL para el parámetro pVideoSource , lo que indica que el sistema debe elegir el dispositivo de captura y, si no se ha asociado ningún dispositivo de captura admitido. Se recomienda que las aplicaciones muestren a los usuarios un mensaje de dispositivo de captura no admitido específico si se devuelve este error, en lugar de un mensaje de error general.

Comentarios

Debe llamar a este método una vez antes de usar el motor de captura. Llamar al método una segunda vez devuelve MF_E_INVALIDREQUEST.

Este método es asincrónico. Si el método devuelve un código correcto, el autor de la llamada recibirá un evento de MF_CAPTURE_ENGINE_INITIALIZED a través del método IMFCaptureEngineOnEventCallback::OnEvent . La operación puede producir un error de forma asincrónica después de que el método se realice correctamente. Si es así, el código de error se transmite a través del método OnEvent .

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2012 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado mfcaptureengine.h

Consulte también

IMFCaptureEngine