Condividi tramite


Metodo IMFCaptureEngine::Initialize (mfcaptureengine.h)

Inizializza il motore di acquisizione.

Sintassi

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

Parametri

[in] pEventCallback

Puntatore all'interfaccia IMFCaptureEngineOnEventCallback . Il chiamante deve implementare questa interfaccia. Il motore di acquisizione usa questa interfaccia per inviare eventi asincroni al chiamante.

[in, optional] pAttributes

Puntatore all'interfaccia IMFAttributes . Questo parametro può essere NULL.

È possibile usare questo parametro per configurare il motore di acquisizione. Chiamare MFCreateAttributes per creare un archivio attributi e quindi impostare uno degli attributi seguenti.

[in, optional] pAudioSource

Puntatore IUnknown che specifica un dispositivo di acquisizione audio. Questo parametro può essere NULL.

Se si imposta l'attributo MF_CAPTURE_ENGINE_USE_VIDEO_DEVICE_ONLY su TRUE in pAttributes, il motore di acquisizione non usa un dispositivo audio e il parametro pAudioSource viene ignorato.

In caso contrario, se pAudioSource è NULL, il motore di acquisizione seleziona il microfono integrato nella fotocamera video specificata da pVideoSource. Se la videocamera non dispone di un microfono, il motore di acquisizione enumera i dispositivi di acquisizione audio nel sistema e seleziona il primo.

Per eseguire l'override del dispositivo audio predefinito, impostare pAudioSource su un puntatore IMFMediaSource o IMFActivate per il dispositivo. Per altre informazioni, vedere Acquisizione audio/video in Media Foundation.

[in, optional] pVideoSource

Puntatore IUnknown che specifica un dispositivo di acquisizione video. Questo parametro può essere NULL.

Se si imposta l'attributo MF_CAPTURE_ENGINE_USE_AUDIO_DEVICE_ONLY su TRUE in pAttributes, il motore di acquisizione non usa un dispositivo video e il parametro pVideoSource viene ignorato.

In caso contrario, se pVideoSource è NULL, il motore di acquisizione enumera i dispositivi di acquisizione video nel sistema e seleziona il primo.

Per eseguire l'override del dispositivo video predefinito, impostare pVideoSource su un puntatore IMFMediaSource o IMFActivate per il dispositivo. Per altre informazioni, vedere Enumerazione dei dispositivi di acquisizione video.

Valore restituito

Questo metodo può restituire uno di questi valori.

Codice restituito Descrizione
S_OK
Operazione completata.
MF_E_INVALIDREQUEST
Il metodo Initialize è già stato chiamato.
MF_E_NO_CAPTURE_DEVICES_AVAILABLE
Non sono disponibili dispositivi di acquisizione.
MF_E_UNSUPPORTED_CAPTURE_DEVICE_PRESENT
Nel sistema è presente un dispositivo di acquisizione non supportato. Questo errore verrà restituito solo se viene specificato NULL per il parametro pVideoSource , a indicare che il sistema deve selezionare il dispositivo di acquisizione e se non è già stato collegato alcun dispositivo di acquisizione supportato. È consigliabile che le app mostrino agli utenti un messaggio di dispositivo di acquisizione non supportato specifico se viene restituito questo errore, anziché un messaggio di errore generale.

Commenti

È necessario chiamare questo metodo una volta prima di usare il motore di acquisizione. La chiamata al metodo una seconda volta restituisce MF_E_INVALIDREQUEST.

Questo metodo è asincrono. Se il metodo restituisce un codice di operazione riuscita, il chiamante riceverà un evento MF_CAPTURE_ENGINE_INITIALIZED tramite il metodo IMFCaptureEngineOnEventCallback::OnEvent . L'operazione può avere esito negativo in modo asincrono dopo che il metodo ha esito positivo. In tal caso, il codice di errore viene trasmesso tramite il metodo OnEvent .

Requisiti

Requisito Valore
Client minimo supportato Windows 8 [solo app desktop]
Server minimo supportato Windows Server 2012 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione mfcaptureengine.h

Vedi anche

IMFCaptureEngine