Liên kết API Camera2

Trang này tóm tắt cách các API Camera2 thay thế các API Hệ thống xem mở rộng (EVS) cốt lõi.

IEvsEnumerator API

IEvsEnumerator Camera2 NDK API Camera2 Java API

openCamera

EVS openCamera kết hợp cấu hình mở và phát trực tuyến; Camera2 tách riêng chúng.

ACameraManager_openCamera và sau đó là ACameraDevice_createCaptureSession với AImageReader và sau đó là ACameraDevice_createCaptureRequest

CameraManager.openCamera rồi đến CameraDevice.createCaptureSession (với ImageReader hoặc Surface khác) rồi đến CameraDevice.createCaptureRequest

closeCamera ACameraDevice_close CameraDevice.close
getCameraList ACameraManager_getCameraIdList rồi ACameraManager_getCameraCharacteristics để biết thông tin chi tiết CameraManager.getCameraIdList rồi CameraManager.getCameraCharacteristics để biết thông tin chi tiết
getStreamList ACameraManager_getCameraCharacteristics, đọc thẻ ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS CameraManager.getCameraCharacteristics, nhận CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP
registerStatusCallback ACameraManager_registerAvailabilityCallback với ACameraManager_AvailabilityListener CameraManager.registerAvailabilityCallback với CameraManager.AvailabilityCallback
isHardware Không áp dụng Không áp dụng

getDisplayIdList

Không dùng nữa.

Sử dụng DisplayManager.getDisplays

Không áp dụng Không áp dụng

getDisplayState

Không dùng nữa.

Sử dụng Display.getState

Không áp dụng Không áp dụng

getDisplayStateById

Không dùng nữa.

Sử dụng DisplayManager.getDisplay rồi dùng Display.getState

Không áp dụng Không áp dụng

openDisplay

Không dùng nữa.

Sử dụng WindowManager.addView trên một Display cụ thể

Không áp dụng Không áp dụng

closeDisplay

Không dùng nữa.

Sử dụng WindowManager.removeView

Không áp dụng Không áp dụng

openUltrasonicsArray

Không dùng nữa.

Sử dụng các thuộc tính VHAL.

Không áp dụng Không áp dụng

getUltrasonicsArrayList

Không dùng nữa.

Sử dụng các thuộc tính VHAL.

Không áp dụng Không áp dụng

closeUltrasonicsArray

Không dùng nữa.

Sử dụng các thuộc tính VHAL.

Không áp dụng Không áp dụng

IEvsCamera

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

getPhysicalCameraInfo

Đối với camera logic, hãy kiểm tra getPhysicalCameraIds

ACameraManager_getCameraCharacteristics CameraManager.getCameraCharacteristics

setMaxFramesInFlight

Không thể thay đổi linh hoạt trong Camera2; được đặt khi bạn tạo ImageReader

Đặt trong AImageReader_new hoặc AImageReader_newWithUsage Đặt trong ImageReader.newInstance(width, height, format, maxImages)
startVideoStream ACameraCaptureSession_setRepeatingRequestV2 CameraCaptureSession.setSingleRepeatingRequest
stopVideoStream ACameraCaptureSession_stopRepeating CameraCaptureSession.stopRepeating

pauseVideoStream

Không có công cụ tương đương trực tiếp. Sử dụng stopRepeatingRequest

ACameraCaptureSession_stopRepeating CameraCaptureSession.stopRepeating

resumeVideoStream

Không có giá trị tương đương trực tiếp; hãy sử dụng setSingleRepeatingRequest

ACameraCaptureSession_setRepeatingRequestV2 CameraCaptureSession.setSingleRepeatingRequest

doneWithFrame

Trả bộ đệm về hàng đợi

AImage_delete Image.close

importExternalBuffers

Surfaces sẽ xử lý việc quản lý vùng đệm. Để tìm hiểu thêm, hãy xem CameraCaptureSession.prepare

Không áp dụng Không áp dụng
getParameterList ACameraMetadata_getAllTags CameraCharacteristics.getKeys
getIntParameter ACaptureRequest_getConstEntry CaptureRequest.get(key)

getIntParameterRange

Phạm vi là một phần của CameraCharacteristics

ACameraMetadata_getConstEntry CameraCharacteristics.get(key)
(CONTROL_AE_COMPENSATION_RANGE) và các loại tương tự
setIntParameter ACaptureRequest_setEntry_i32, _u8 và các loại tương tự CaptureRequest.Builder.set(key, value)

getExtendedInfo

Sử dụng thẻ của nhà cung cấp để triển khai dữ liệu tuỳ chỉnh.

Sử dụng thẻ nhà cung cấp trên ACaptureRequest
hoặc ACameraMetadata
Sử dụng thẻ nhà cung cấp trên CaptureRequest hoặc CameraCharacteristics

setExtendedInfo

Sử dụng thẻ của nhà cung cấp để triển khai dữ liệu tuỳ chỉnh.

Sử dụng thẻ nhà cung cấp trên ACaptureRequest Sử dụng thẻ nhà cung cấp trên CaptureRequest.Builder

setPrimaryClient

Không dùng nữa.

Trạng thái ứng dụng chính dựa trên mức độ ưu tiên trong chế độ dùng chung Camera2.

Không áp dụng Không áp dụng

unsetPrimaryClient

Không dùng nữa.

Không áp dụng Không áp dụng

forcePrimaryClient

Không dùng nữa.

Không áp dụng Không áp dụng

IEvsCameraStream

IEvsCameraStream Camera2 NDK API Camera2 Java API

deliverFrame

Lệnh gọi lại để nhận khung hình mới. Lấy hình ảnh bằng ImageReader.acquireLatestImage hoặc ImageReader.acquireNextImage

onImageAvailable/AImageReader_ImageListener

onImageAvailable / ImageReader.OnImageAvailableListener

notify

Lệnh gọi lại cho các sự kiện chụp (bắt đầu, tiến trình, hoàn tất, thất bại) và CameraDevice.StateCallback cho các sự kiện thiết bị (lỗi, ngắt kết nối).

ACameraCaptureSession_captureCallbacksV2

CameraCaptureSession.CaptureCallback

IEvsDisplay API

Tất cả API trong giao diện IEvsDisplay đều không được dùng nữa. Các OEM nên sử dụng các lớp Android tiêu chuẩn: