Mapeamento da API Camera2

Esta página resume como as APIs Camera2 substituem as APIs principais do Sistema de visualização estendida (EVS).

API IEvsEnumerator

IEvsEnumerator API Camera2 NDK API Java Camera2

openCamera

O EVS openCamera combinou a configuração de abertura e stream, enquanto o Camera2 as separa.

ACameraManager_openCamera e depois ACameraDevice_createCaptureSession com AImageReader e depois ACameraDevice_createCaptureRequest

CameraManager.openCamera e depois CameraDevice.createCaptureSession (com ImageReader ou outro Surface) e depois CameraDevice.createCaptureRequest

closeCamera ACameraDevice_close CameraDevice.close
getCameraList ACameraManager_getCameraIdList e ACameraManager_getCameraCharacteristics para mais detalhes CameraManager.getCameraIdList e CameraManager.getCameraCharacteristics para mais detalhes
getStreamList ACameraManager_getCameraCharacteristics, leia a tag ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS CameraManager.getCameraCharacteristics, receba CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP
registerStatusCallback ACameraManager_registerAvailabilityCallback com ACameraManager_AvailabilityListener CameraManager.registerAvailabilityCallback com CameraManager.AvailabilityCallback
isHardware N/A N/A

getDisplayIdList

Descontinuado.

Use DisplayManager.getDisplays

N/A N/A

getDisplayState

Descontinuado.

Use Display.getState

N/A N/A

getDisplayStateById

Descontinuado.

Use DisplayManager.getDisplay e depois Display.getState

N/A N/A

openDisplay

Descontinuado.

Use WindowManager.addView em um Display específico.

N/A N/A

closeDisplay

Descontinuado.

Use WindowManager.removeView

N/A N/A

openUltrasonicsArray

Descontinuado.

Use propriedades da VHAL.

N/A N/A

getUltrasonicsArrayList

Descontinuado.

Use propriedades da VHAL.

N/A N/A

closeUltrasonicsArray

Descontinuado.

Use propriedades da VHAL.

N/A N/A

IEvsCamera

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

getPhysicalCameraInfo

Para câmeras lógicas, verifique getPhysicalCameraIds

ACameraManager_getCameraCharacteristics CameraManager.getCameraCharacteristics

setMaxFramesInFlight

Não pode ser mudado dinamicamente no Camera2. É definido quando você cria ImageReader.

Definido em AImageReader_new ou AImageReader_newWithUsage Definido em ImageReader.newInstance(width, height, format, maxImages)
startVideoStream ACameraCaptureSession_setRepeatingRequestV2 CameraCaptureSession.setSingleRepeatingRequest
stopVideoStream ACameraCaptureSession_stopRepeating CameraCaptureSession.stopRepeating

pauseVideoStream

Sem equivalente direto. Usar stopRepeatingRequest

ACameraCaptureSession_stopRepeating CameraCaptureSession.stopRepeating

resumeVideoStream

Sem equivalente direto. Use setSingleRepeatingRequest.

ACameraCaptureSession_setRepeatingRequestV2 CameraCaptureSession.setSingleRepeatingRequest

doneWithFrame

Libera o buffer de volta para a fila

AImage_delete Image.close

importExternalBuffers

O gerenciamento de buffer é feito por Surfaces. Para saber mais, consulte CameraCaptureSession.prepare

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

getIntParameterRange

Os intervalos fazem parte de CameraCharacteristics.

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

getExtendedInfo

Use tags de fornecedor para implementar dados personalizados.

Use tags de fornecedor em ACaptureRequest
ou ACameraMetadata
Use tags de fornecedor em CaptureRequest ou CameraCharacteristics

setExtendedInfo

Use tags de fornecedor para implementar dados personalizados.

Usar tags de fornecedor em ACaptureRequest Usar tags de fornecedor em CaptureRequest.Builder

setPrimaryClient

Descontinuado.

O status do cliente principal é baseado em prioridade no modo compartilhado da Camera2.

N/A N/A

unsetPrimaryClient

Descontinuado.

N/A N/A

forcePrimaryClient

Descontinuado.

N/A N/A

IEvsCameraStream

IEvsCameraStream API Camera2 NDK API Java Camera2

deliverFrame

Callback para receber novos frames. Adquira a imagem com ImageReader.acquireLatestImage ou ImageReader.acquireNextImage

onImageAvailable de AImageReader_ImageListener

onImageAvailable de ImageReader.OnImageAvailableListener

notify

Callbacks para eventos de captura (início, progresso, conclusão, falha) e CameraDevice.StateCallback para eventos de dispositivo (erro, desconexão).

ACameraCaptureSession_captureCallbacksV2

CameraCaptureSession.CaptureCallback

API IEvsDisplay

Todas as APIs na interface IEvsDisplay estão obsoletas. Os OEMs precisam usar classes padrão do Android: