Pemetaan Camera2 API

Halaman ini merangkum cara Camera2 API menggantikan API Extended View System (EVS) inti.

IEvsEnumerator API

IEvsEnumerator Camera2 NDK API Camera2 Java API

openCamera

EVS openCamera menggabungkan konfigurasi buka dan streaming; Camera2 memisahkannya.

ACameraManager_openCamera lalu ACameraDevice_createCaptureSession dengan AImageReader lalu ACameraDevice_createCaptureRequest

CameraManager.openCamera, lalu CameraDevice.createCaptureSession (dengan ImageReader atau Surface lainnya), lalu CameraDevice.createCaptureRequest

closeCamera ACameraDevice_close CameraDevice.close
getCameraList ACameraManager_getCameraIdList, lalu ACameraManager_getCameraCharacteristics untuk melihat detailnya CameraManager.getCameraIdList, lalu CameraManager.getCameraCharacteristics untuk melihat detailnya
getStreamList ACameraManager_getCameraCharacteristics, baca tag ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS CameraManager.getCameraCharacteristics, dapatkan CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP
registerStatusCallback ACameraManager_registerAvailabilityCallback dengan ACameraManager_AvailabilityListener CameraManager.registerAvailabilityCallback dengan CameraManager.AvailabilityCallback
isHardware T/A T/A

getDisplayIdList

Tidak digunakan lagi.

Gunakan DisplayManager.getDisplays

T/A T/A

getDisplayState

Tidak digunakan lagi.

Gunakan Display.getState

T/A T/A

getDisplayStateById

Tidak digunakan lagi.

Gunakan DisplayManager.getDisplay lalu Display.getState

T/A T/A

openDisplay

Tidak digunakan lagi.

Gunakan WindowManager.addView pada Display tertentu

T/A T/A

closeDisplay

Tidak digunakan lagi.

Gunakan WindowManager.removeView

T/A T/A

openUltrasonicsArray

Tidak digunakan lagi.

Gunakan properti VHAL.

T/A T/A

getUltrasonicsArrayList

Tidak digunakan lagi.

Gunakan properti VHAL.

T/A T/A

closeUltrasonicsArray

Tidak digunakan lagi.

Gunakan properti VHAL.

T/A T/A

IEvsCamera

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

getPhysicalCameraInfo

Untuk kamera logis, periksa getPhysicalCameraIds

ACameraManager_getCameraCharacteristics CameraManager.getCameraCharacteristics

setMaxFramesInFlight

Tidak dapat diubah secara dinamis di Camera2; disetel saat Anda membuat ImageReader

Ditetapkan di AImageReader_new atau AImageReader_newWithUsage Berlatar di ImageReader.newInstance(width, height, format, maxImages)
startVideoStream ACameraCaptureSession_setRepeatingRequestV2 CameraCaptureSession.setSingleRepeatingRequest
stopVideoStream ACameraCaptureSession_stopRepeating CameraCaptureSession.stopRepeating

pauseVideoStream

Tidak ada padanan langsung. Gunakan stopRepeatingRequest

ACameraCaptureSession_stopRepeating CameraCaptureSession.stopRepeating

resumeVideoStream

Tidak ada padanan langsung; gunakan setSingleRepeatingRequest

ACameraCaptureSession_setRepeatingRequestV2 CameraCaptureSession.setSingleRepeatingRequest

doneWithFrame

Melepaskan buffer kembali ke antrean

AImage_delete Image.close

importExternalBuffers

Pengelolaan buffer ditangani oleh Surfaces. Untuk mempelajari lebih lanjut, lihat CameraCaptureSession.prepare

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

getIntParameterRange

Rentang adalah bagian dari CameraCharacteristics

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

getExtendedInfo

Gunakan tag vendor untuk menerapkan data kustom.

Menggunakan tag vendor di ACaptureRequest
atau ACameraMetadata
Menggunakan tag vendor di CaptureRequest atau CameraCharacteristics

setExtendedInfo

Gunakan tag vendor untuk menerapkan data kustom.

Menggunakan tag vendor di ACaptureRequest Menggunakan tag vendor di CaptureRequest.Builder

setPrimaryClient

Tidak digunakan lagi.

Status klien utama berbasis prioritas dalam mode bersama Camera2.

T/A T/A

unsetPrimaryClient

Tidak digunakan lagi.

T/A T/A

forcePrimaryClient

Tidak digunakan lagi.

T/A T/A

IEvsCameraStream

IEvsCameraStream Camera2 NDK API Camera2 Java API

deliverFrame

Callback untuk menerima frame baru. Dapatkan gambar dengan ImageReader.acquireLatestImage atau ImageReader.acquireNextImage

onImageAvailable dari AImageReader_ImageListener

onImageAvailable dari ImageReader.OnImageAvailableListener

notify

Callback untuk peristiwa pengambilan (dimulai, progres, penyelesaian, kegagalan) dan CameraDevice.StateCallback untuk peristiwa perangkat (error, terputus).

ACameraCaptureSession_captureCallbacksV2

CameraCaptureSession.CaptureCallback

IEvsDisplay API

Semua API di antarmuka IEvsDisplay tidak digunakan lagi. OEM harus menggunakan class Android standar: