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

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

API IEvsEnumerator

IEvsEnumerator Camera2 NDK API Camera2 Java API

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 with ACameraManager_AvailabilityListener CameraManager.registerAvailabilityCallback with 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 Camera2 NDK API Camera2 Java API
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 Camera2 NDK API Camera2 Java API

deliverFrame

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

onImageAvailable of AImageReader_ImageListener

onImageAvailable of ImageReader.OnImageAvailableListener

notify

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

ACameraCaptureSession_captureCallbacksV2

CameraCaptureSession.CaptureCallback

API IEvsDisplay

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