Сопоставление API Camera2

На этой странице описывается, как API Camera2 заменяют основные API Extended View System (EVS) .

API IEvsEnumerator

IEvsEnumerator API Camera2 NDK API Java Camera2

openCamera

EVS openCamera объединила открытую и потоковую конфигурации; Camera2 разделяет их.

ACameraManager_openCamera , а затем ACameraDevice_createCaptureSession с AImageReader , а затем ACameraDevice_createCaptureRequest

CameraManager.openCamera , а затем CameraDevice.createCaptureSessionImageReader или другим Surface ), а затем CameraDevice.createCaptureRequest

closeCamera ACameraDevice_close CameraDevice.close
getCameraList ACameraManager_getCameraIdList , а затем ACameraManager_getCameraCharacteristics для получения подробной информации. CameraManager.getCameraIdList , а затем CameraManager.getCameraCharacteristics для получения подробной информации.
getStreamList ACameraManager_getCameraCharacteristics , прочитать тег ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS CameraManager.getCameraCharacteristics , получить CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP
registerStatusCallback ACameraManager_registerAvailabilityCallback с ACameraManager_AvailabilityListener CameraManager.registerAvailabilityCallback с CameraManager.AvailabilityCallback
isHardware Н/Д Н/Д

getDisplayIdList

Устарело.

Используйте DisplayManager.getDisplays

Н/Д Н/Д

getDisplayState

Устарело.

Использовать Display.getState

Н/Д Н/Д

getDisplayStateById

Устарело.

Используйте DisplayManager.getDisplay , а затем Display.getState

Н/Д Н/Д

openDisplay

Устарело.

Используйте WindowManager.addView на определенном Display

Н/Д Н/Д

closeDisplay

Устарело.

Использовать WindowManager.removeView

Н/Д Н/Д

openUltrasonicsArray

Устарело.

Использовать свойства VHAL.

Н/Д Н/Д

getUltrasonicsArrayList

Устарело.

Использовать свойства VHAL.

Н/Д Н/Д

closeUltrasonicsArray

Устарело.

Использовать свойства VHAL.

Н/Д Н/Д

IEvsCamera

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

getPhysicalCameraInfo

Для логических камер проверьте getPhysicalCameraIds

ACameraManager_getCameraCharacteristics CameraManager.getCameraCharacteristics

setMaxFramesInFlight

Невозможно динамически изменить в Camera2; устанавливается при создании ImageReader

Установить в AImageReader_new или AImageReader_newWithUsage Установить в ImageReader.newInstance(width, height, format, maxImages)
startVideoStream ACameraCaptureSession_setRepeatingRequestV2 CameraCaptureSession.setSingleRepeatingRequest
stopVideoStream ACameraCaptureSession_stopRepeating CameraCaptureSession.stopRepeating

pauseVideoStream

Прямого эквивалента нет. Используйте stopRepeatingRequest

ACameraCaptureSession_stopRepeating CameraCaptureSession.stopRepeating

resumeVideoStream

Прямого эквивалента нет; используйте setSingleRepeatingRequest

ACameraCaptureSession_setRepeatingRequestV2 CameraCaptureSession.setSingleRepeatingRequest

doneWithFrame

Освобождает буфер обратно в очередь

AImage_delete Image.close

importExternalBuffers

Управление буфером осуществляется Surfaces. Подробнее см. в файле CameraCaptureSession.prepare

Н/Д Н/Д
getParameterList ACameraMetadata_getAllTags CameraCharacteristics.getKeys
getIntParameter ACaptureRequest_getConstEntry CaptureRequest.get(key)

getIntParameterRange

Диапазоны являются частью CameraCharacteristics

ACameraMetadata_getConstEntry CameraCharacteristics.get(key)
( CONTROL_AE_COMPENSATION_RANGE ) и аналогичные
setIntParameter ACaptureRequest_setEntry_i32 , _u8 и аналогичные CaptureRequest.Builder.set(key, value)

getExtendedInfo

Используйте теги поставщиков для внедрения пользовательских данных.

Использовать теги поставщиков в ACaptureRequest
или ACameraMetadata
Используйте теги поставщика в CaptureRequest или CameraCharacteristics

setExtendedInfo

Используйте теги поставщиков для внедрения пользовательских данных.

Использовать теги поставщиков в ACaptureRequest Используйте теги поставщиков в CaptureRequest.Builder

setPrimaryClient

Устарело.

Статус основного клиента определяется приоритетом в режиме общего доступа Camera2.

Н/Д Н/Д

unsetPrimaryClient

Устарело.

Н/Д Н/Д

forcePrimaryClient

Устарело.

Н/Д Н/Д

IEvsCameraStream

IEvsCameraStream API Camera2 NDK API Java Camera2

deliverFrame

Обратный вызов для получения новых кадров. Получите изображение с помощью ImageReader.acquireLatestImage или ImageReader.acquireNextImage

onImageAvailable для AImageReader_ImageListener

onImageAvailable из ImageReader.OnImageAvailableListener

notify

Обратные вызовы для событий захвата (начало, ход выполнения, завершение, сбой) и CameraDevice.StateCallback для событий устройства (ошибка, отключение).

ACameraCaptureSession_captureCallbacksV2

CameraCaptureSession.CaptureCallback

API IEvsDisplay

Все API в интерфейсе IEvsDisplay устарели . OEM-производителям следует использовать стандартные классы Android: