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.
- 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
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 |
---|---|
|
Operazione completata. |
|
Il metodo Initialize è già stato chiamato. |
|
Non sono disponibili dispositivi di acquisizione. |
|
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 |