Share via


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

Inicializa o mecanismo de captura.

Sintaxe

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

Parâmetros

[in] pEventCallback

Um ponteiro para a interface IMFCaptureEngineOnEventCallback . O chamador deve implementar essa interface. O mecanismo de captura usa essa interface para enviar eventos assíncronos ao chamador.

[in, optional] pAttributes

Um ponteiro para a interface IMFAttributes . Este parâmetro pode ser NULL.

Você pode usar esse parâmetro para configurar o mecanismo de captura. Chame MFCreateAttributes para criar um repositório de atributos e defina qualquer um dos atributos a seguir.

[in, optional] pAudioSource

Um ponteiro IUnknown que especifica um dispositivo de captura de áudio. Este parâmetro pode ser NULL.

Se você definir o atributo MF_CAPTURE_ENGINE_USE_VIDEO_DEVICE_ONLY como TRUE em pAttributes, o mecanismo de captura não usará um dispositivo de áudio e o parâmetro pAudioSource será ignorado.

Caso contrário, se pAudioSource for NULL, o mecanismo de captura selecionará o microfone integrado à câmera de vídeo especificada por pVideoSource. Se a câmera de vídeo não tiver um microfone, o mecanismo de captura enumera os dispositivos de captura de áudio no sistema e seleciona o primeiro.

Para substituir o dispositivo de áudio padrão, defina pAudioSource como um ponteiro IMFMediaSource ou IMFActivate para o dispositivo. Para obter mais informações, consulte Audio/Video Capture in Media Foundation.

[in, optional] pVideoSource

Um ponteiro IUnknown que especifica um dispositivo de captura de vídeo. Este parâmetro pode ser NULL.

Se você definir o atributo MF_CAPTURE_ENGINE_USE_AUDIO_DEVICE_ONLY como TRUE em pAttributes, o mecanismo de captura não usará um dispositivo de vídeo e o parâmetro pVideoSource será ignorado.

Caso contrário, se pVideoSource for NULL, o mecanismo de captura enumerará os dispositivos de captura de vídeo no sistema e selecionará o primeiro.

Para substituir o dispositivo de vídeo padrão, defina pVideoSource como um ponteiro IMFMediaSource ou IMFActivate para o dispositivo. Para obter mais informações, consulte Enumerando dispositivos de captura de vídeo.

Retornar valor

Esse método pode retornar um desses valores.

Código de retorno Descrição
S_OK
Êxito.
MF_E_INVALIDREQUEST
O método Initialize já foi chamado.
MF_E_NO_CAPTURE_DEVICES_AVAILABLE
Nenhum dispositivo de captura está disponível.
MF_E_UNSUPPORTED_CAPTURE_DEVICE_PRESENT
Um dispositivo de captura sem suporte está presente no sistema. Esse erro só será retornado se NULL for especificado para o parâmetro pVideoSource , indicando que o sistema deve escolher o dispositivo de captura e se nenhum dispositivo de captura com suporte já tiver sido anexado. É recomendável que os aplicativos mostrem aos usuários uma mensagem específica do dispositivo de captura sem suporte se esse erro for retornado, em vez de uma mensagem de falha geral.

Comentários

Você deve chamar esse método uma vez antes de usar o mecanismo de captura. Chamar o método uma segunda vez retorna MF_E_INVALIDREQUEST.

Esse método é assíncrono. Se o método retornar um código de êxito, o chamador receberá um evento MF_CAPTURE_ENGINE_INITIALIZED por meio do método IMFCaptureEngineOnEventCallback::OnEvent . A operação pode falhar de forma assíncrona depois que o método for bem-sucedido. Nesse caso, o código de erro é transmitido por meio do método OnEvent .

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2012 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho mfcaptureengine.h

Confira também

IMFCaptureEngine