Camera2 API-Zuordnung

Auf dieser Seite wird zusammengefasst, wie Camera2 APIs die core Extended View System (EVS) APIs ersetzen.

IEvsEnumerator API

IEvsEnumerator Camera2 NDK API Camera2 Java API

openCamera

In EVS openCamera wurden die Konfiguration für das Öffnen und Streamen kombiniert. In Camera2 sind sie getrennt.

ACameraManager_openCamera und dann ACameraDevice_createCaptureSession mit AImageReader und dann ACameraDevice_createCaptureRequest

CameraManager.openCamera und dann CameraDevice.createCaptureSession (mit ImageReader oder einer anderen Surface) und dann CameraDevice.createCaptureRequest

closeCamera ACameraDevice_close CameraDevice.close
getCameraList ACameraManager_getCameraIdList und dann ACameraManager_getCameraCharacteristics für Details CameraManager.getCameraIdList und dann CameraManager.getCameraCharacteristics für Details
getStreamList ACameraManager_getCameraCharacteristics, Tag ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS lesen CameraManager.getCameraCharacteristics, CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP abrufen
registerStatusCallback ACameraManager_registerAvailabilityCallback mit ACameraManager_AvailabilityListener CameraManager.registerAvailabilityCallback mit CameraManager.AvailabilityCallback
isHardware

getDisplayIdList

Veraltet.

Verwenden Sie DisplayManager.getDisplays

getDisplayState

Veraltet.

Verwenden Sie Display.getState

getDisplayStateById

Veraltet.

Verwenden Sie DisplayManager.getDisplay und dann Display.getState

openDisplay

Veraltet.

Verwenden Sie WindowManager.addView auf einem bestimmten Display

closeDisplay

Veraltet.

Verwenden Sie WindowManager.removeView

openUltrasonicsArray

Veraltet.

VHAL-Properties verwenden.

getUltrasonicsArrayList

Veraltet.

VHAL-Properties verwenden.

closeUltrasonicsArray

Veraltet.

VHAL-Properties verwenden.

IEvsCamera

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

getPhysicalCameraInfo

Bei logischen Kameras getPhysicalCameraIds prüfen

ACameraManager_getCameraCharacteristics CameraManager.getCameraCharacteristics

setMaxFramesInFlight

Kann in Camera2 nicht dynamisch geändert werden. Beim Erstellen von ImageReader festlegen

In AImageReader_new oder AImageReader_newWithUsage festlegen In ImageReader.newInstance(width, height, format, maxImages) festlegen
startVideoStream ACameraCaptureSession_setRepeatingRequestV2 CameraCaptureSession.setSingleRepeatingRequest
stopVideoStream ACameraCaptureSession_stopRepeating CameraCaptureSession.stopRepeating

pauseVideoStream

Keine direkte Entsprechung. stopRepeatingRequest verwenden

ACameraCaptureSession_stopRepeating CameraCaptureSession.stopRepeating

resumeVideoStream

Keine direkte Entsprechung. setSingleRepeatingRequest verwenden

ACameraCaptureSession_setRepeatingRequestV2 CameraCaptureSession.setSingleRepeatingRequest

doneWithFrame

Gibt den Puffer wieder an die Warteschlange zurück

AImage_delete Image.close

importExternalBuffers

Die Pufferverwaltung wird von Surfaces übernommen. Weitere Informationen finden Sie unter CameraCaptureSession.prepare

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

getIntParameterRange

Bereiche sind Teil von CameraCharacteristics

ACameraMetadata_getConstEntry CameraCharacteristics.get(key)
(CONTROL_AE_COMPENSATION_RANGE) und Ähnliches
setIntParameter ACaptureRequest_setEntry_i32, _u8 und Ähnliches CaptureRequest.Builder.set(key, value)

getExtendedInfo

Benutzertags verwenden, um benutzerdefinierte Daten zu implementieren.

Benutzertags für ACaptureRequest
oder ACameraMetadata verwenden
Benutzertags für CaptureRequest oder CameraCharacteristics verwenden

setExtendedInfo

Benutzertags verwenden, um benutzerdefinierte Daten zu implementieren.

Benutzertags für ACaptureRequest verwenden Benutzertags für CaptureRequest.Builder verwenden

setPrimaryClient

Veraltet.

Der Status des primären Clients basiert im gemeinsamen Modus von Camera2 auf Prioritäten.

unsetPrimaryClient

Veraltet.

forcePrimaryClient

Veraltet.

IEvsCameraStream

IEvsCameraStream Camera2 NDK API Camera2 Java API

deliverFrame

Callback zum Empfangen neuer Frames. Bild mit ImageReader.acquireLatestImage oder ImageReader.acquireNextImage aufnehmen

onImageAvailable von AImageReader_ImageListener

onImageAvailable von ImageReader.OnImageAvailableListener

notify

Callbacks für Aufnahmeereignisse (gestartet, Fortschritt, abgeschlossen, Fehler) und CameraDevice.StateCallback für Geräteereignisse (Fehler, Verbindung getrennt).

ACameraCaptureSession_captureCallbacksV2

CameraCaptureSession.CaptureCallback

IEvsDisplay API

Alle APIs in der IEvsDisplay-Schnittstelle sind veraltet. OEMs sollten Standard-Android-Klassen verwenden: