Mappatura dellƏAPI Camera2

Questa pagina riassume in che modo le API Camera2 sostituiscono le API Extended View System (EVS) di base.

IEvsEnumerator API

IEvsEnumerator API NDK Camera2 API Java Camera2

openCamera

EVS openCamera combina la configurazione di apertura e stream, mentre Camera2 le separa.

ACameraManager_openCamera e poi ACameraDevice_createCaptureSession con AImageReader e poi ACameraDevice_createCaptureRequest

CameraManager.openCamera e poi CameraDevice.createCaptureSession (con ImageReader o altro Surface) e poi CameraDevice.createCaptureRequest

closeCamera ACameraDevice_close CameraDevice.close
getCameraList ACameraManager_getCameraIdList e poi ACameraManager_getCameraCharacteristics per i dettagli CameraManager.getCameraIdList e poi CameraManager.getCameraCharacteristics per i dettagli
getStreamList ACameraManager_getCameraCharacteristics, leggi il tag ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS CameraManager.getCameraCharacteristics, get CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP
registerStatusCallback ACameraManager_registerAvailabilityCallback con ACameraManager_AvailabilityListener CameraManager.registerAvailabilityCallback con CameraManager.AvailabilityCallback
isHardware N/D N/D

getDisplayIdList

Obsoleto.

Utilizza DisplayManager.getDisplays

N/D N/D

getDisplayState

Obsoleto.

Utilizza Display.getState

N/D N/D

getDisplayStateById

Obsoleto.

Utilizza DisplayManager.getDisplay e poi Display.getState

N/D N/D

openDisplay

Obsoleto.

Utilizza WindowManager.addView su un Display specifico

N/D N/D

closeDisplay

Obsoleto.

Utilizza WindowManager.removeView

N/D N/D

openUltrasonicsArray

Ritirato.

Utilizza le proprietà VHAL.

N/D N/D

getUltrasonicsArrayList

Ritirato.

Utilizza le proprietà VHAL.

N/D N/D

closeUltrasonicsArray

Ritirato.

Utilizza le proprietà VHAL.

N/D N/D

IEvsCamera

IEvsCamera API NDK Camera2 API Java Camera2
getCameraInfo ACameraManager_getCameraCharacteristics CameraManager.getCameraCharacteristics

getPhysicalCameraInfo

Per le videocamere logiche, controlla getPhysicalCameraIds

ACameraManager_getCameraCharacteristics CameraManager.getCameraCharacteristics

setMaxFramesInFlight

Non può essere modificato dinamicamente in Camera2; impostato al momento della creazione di ImageReader

Impostato su AImageReader_new o AImageReader_newWithUsage Impostato su ImageReader.newInstance(width, height, format, maxImages)
startVideoStream ACameraCaptureSession_setRepeatingRequestV2 CameraCaptureSession.setSingleRepeatingRequest
stopVideoStream ACameraCaptureSession_stopRepeating CameraCaptureSession.stopRepeating

pauseVideoStream

Nessun equivalente diretto. Utilizza stopRepeatingRequest

ACameraCaptureSession_stopRepeating CameraCaptureSession.stopRepeating

resumeVideoStream

Nessun equivalente diretto; utilizza setSingleRepeatingRequest

ACameraCaptureSession_setRepeatingRequestV2 CameraCaptureSession.setSingleRepeatingRequest

doneWithFrame

Buffer delle uscite di nuovo in coda

AImage_delete Image.close

importExternalBuffers

La gestione del buffer viene gestita da Surfaces. Per scoprire di più, vedi CameraCaptureSession.prepare

N/D N/D
getParameterList ACameraMetadata_getAllTags CameraCharacteristics.getKeys
getIntParameter ACaptureRequest_getConstEntry CaptureRequest.get(key)

getIntParameterRange

Gli intervalli fanno parte di CameraCharacteristics

ACameraMetadata_getConstEntry CameraCharacteristics.get(key)
(CONTROL_AE_COMPENSATION_RANGE) e simili
setIntParameter ACaptureRequest_setEntry_i32, _u8 e simili CaptureRequest.Builder.set(key, value)

getExtendedInfo

Utilizza i tag fornitore per implementare dati personalizzati.

Utilizza i tag fornitore su ACaptureRequest
o ACameraMetadata
Utilizza i tag fornitore su CaptureRequest o CameraCharacteristics

setExtendedInfo

Utilizza i tag fornitore per implementare dati personalizzati.

Utilizzare i tag fornitore su ACaptureRequest Utilizzare i tag fornitore su CaptureRequest.Builder

setPrimaryClient

Obsoleto.

Lo stato del client principale è basato sulla priorità nella modalità condivisa Camera2.

N/D N/D

unsetPrimaryClient

Deprecato.

N/D N/D

forcePrimaryClient

Deprecato.

N/D N/D

IEvsCameraStream

IEvsCameraStream API NDK Camera2 API Java Camera2

deliverFrame

Callback per ricevere nuovi frame. Acquisisci l'immagine con ImageReader.acquireLatestImage o ImageReader.acquireNextImage

onImageAvailable di AImageReader_ImageListener

onImageAvailable di ImageReader.OnImageAvailableListener

notify

Callback per eventi di acquisizione (avvio, avanzamento, completamento, errore) e CameraDevice.StateCallback per eventi del dispositivo (errore, disconnessione).

ACameraCaptureSession_captureCallbacksV2

CameraCaptureSession.CaptureCallback

IEvsDisplay API

Tutte le API nell'interfaccia IEvsDisplay sono obsolete. I produttori OEM devono utilizzare le classi Android standard: