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.
- 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
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 |
---|---|
|
Êxito. |
|
O método Initialize já foi chamado. |
|
Nenhum dispositivo de captura está disponível. |
|
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 |