Asignación de la API de Camera2

En esta página, se resume cómo las APIs de Camera2 reemplazan las APIs principales del Sistema de vista extendida (EVS).

IEvsEnumerator API

IEvsEnumerator API de Camera2 NDK API de Camera2 Java

openCamera

EVS openCamera combinó la configuración de apertura y transmisión; Camera2 las separa.

ACameraManager_openCamera y, luego, ACameraDevice_createCaptureSession con AImageReader y, luego, ACameraDevice_createCaptureRequest

CameraManager.openCamera y, luego, CameraDevice.createCaptureSession (con ImageReader o algún otro Surface) y, luego, CameraDevice.createCaptureRequest

closeCamera ACameraDevice_close CameraDevice.close
getCameraList ACameraManager_getCameraIdList y, luego, ACameraManager_getCameraCharacteristics para obtener más detalles CameraManager.getCameraIdList y, luego, CameraManager.getCameraCharacteristics para obtener más detalles
getStreamList ACameraManager_getCameraCharacteristics, etiqueta de lectura 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/A N/A

getDisplayIdList

Obsoleto.

Usa DisplayManager.getDisplays

N/A N/A

getDisplayState

Obsoleto.

Usa Display.getState

N/A N/A

getDisplayStateById

Obsoleto.

Usa DisplayManager.getDisplay y, luego, Display.getState

N/A N/A

openDisplay

Obsoleto.

Usa WindowManager.addView en un Display específico.

N/A N/A

closeDisplay

Obsoleto.

Usa WindowManager.removeView

N/A N/A

openUltrasonicsArray

Obsoleto.

Usa propiedades de VHAL.

N/A N/A

getUltrasonicsArrayList

Obsoleto.

Usa propiedades de VHAL.

N/A N/A

closeUltrasonicsArray

Obsoleto.

Usa propiedades de VHAL.

N/A N/A

IEvsCamera

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

getPhysicalCameraInfo

Para las cámaras lógicas, marca getPhysicalCameraIds.

ACameraManager_getCameraCharacteristics CameraManager.getCameraCharacteristics

setMaxFramesInFlight

No se puede cambiar de forma dinámica en Camera2; se establece cuando creas ImageReader

Se establece en AImageReader_new o AImageReader_newWithUsage. Establecer en ImageReader.newInstance(width, height, format, maxImages)
startVideoStream ACameraCaptureSession_setRepeatingRequestV2 CameraCaptureSession.setSingleRepeatingRequest
stopVideoStream ACameraCaptureSession_stopRepeating CameraCaptureSession.stopRepeating

pauseVideoStream

No hay equivalente directo. Usa stopRepeatingRequest

ACameraCaptureSession_stopRepeating CameraCaptureSession.stopRepeating

resumeVideoStream

Sin equivalente directo; usa setSingleRepeatingRequest

ACameraCaptureSession_setRepeatingRequestV2 CameraCaptureSession.setSingleRepeatingRequest

doneWithFrame

Devuelve el búfer a la fila.

AImage_delete Image.close

importExternalBuffers

Las Surfaces se encargan de la administración de búferes. Para obtener más información, consulta CameraCaptureSession.prepare

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

getIntParameterRange

Los rangos forman parte de CameraCharacteristics.

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

getExtendedInfo

Usa etiquetas de proveedores para implementar datos personalizados.

Usa etiquetas de proveedores en ACaptureRequest
o ACameraMetadata
Usa etiquetas de proveedores en CaptureRequest o CameraCharacteristics

setExtendedInfo

Usa etiquetas de proveedores para implementar datos personalizados.

Usa etiquetas de proveedores en ACaptureRequest Usa etiquetas de proveedores en CaptureRequest.Builder

setPrimaryClient

Obsoleto.

El estado del cliente principal se basa en la prioridad en el modo compartido de Camera2.

N/A N/A

unsetPrimaryClient

Obsoleto.

N/A N/A

forcePrimaryClient

Obsoleto.

N/A N/A

IEvsCameraStream

IEvsCameraStream API de Camera2 NDK API de Camera2 Java

deliverFrame

Devolución de llamada para recibir nuevos fotogramas. Adquiere la imagen con ImageReader.acquireLatestImage o ImageReader.acquireNextImage.

onImageAvailable de AImageReader_ImageListener

onImageAvailable de ImageReader.OnImageAvailableListener

notify

Devoluciones de llamada para eventos de captura (inicio, progreso, finalización, falla) y CameraDevice.StateCallback para eventos del dispositivo (error, desconexión).

ACameraCaptureSession_captureCallbacksV2

CameraCaptureSession.CaptureCallback

IEvsDisplay API

Todas las APIs de la interfaz de IEvsDisplay están obsoletas. Los OEM deben usar las clases estándar de Android: