การแมป Camera2 API

หน้านี้สรุปวิธีที่ Camera2 API มาแทนที่ API หลักของระบบมุมมองเพิ่มเติม (EVS)

IEvsEnumerator API

IEvsEnumerator Camera2 NDK API Camera2 Java API

openCamera

EVS openCamera รวมการกำหนดค่าแบบเปิดและสตรีมเข้าด้วยกัน ส่วน Camera2 จะแยกการกำหนดค่าทั้ง 2 อย่างนี้

ACameraManager_openCamera และ ACameraDevice_createCaptureSession โดยมี AImageReader และ ACameraDevice_createCaptureRequest

CameraManager.openCamera จากนั้น CameraDevice.createCaptureSession (พร้อม ImageReader หรือ 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 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 จาก AImageReader_ImageListener

onImageAvailable จาก ImageReader.OnImageAvailableListener

notify

การเรียกกลับสำหรับเหตุการณ์การจับภาพ (เริ่ม ดำเนินการ เสร็จสมบูรณ์ ล้มเหลว) และ CameraDevice.StateCallback สำหรับเหตุการณ์ในอุปกรณ์ (ข้อผิดพลาด ยกเลิกการเชื่อมต่อ)

ACameraCaptureSession_captureCallbacksV2

CameraCaptureSession.CaptureCallback

IEvsDisplay API

API ทั้งหมดในอินเทอร์เฟซ IEvsDisplay เลิกใช้งานแล้ว OEM ควรใช้ คลาส Android มาตรฐาน