Mapowanie interfejsu Camera2 API

Na tej stronie znajdziesz podsumowanie, w jaki sposób interfejsy API Camera2 zastępują podstawowe interfejsy API rozszerzonego systemu widoku (EVS).

IEvsEnumerator API

IEvsEnumerator Camera2 NDK API Camera2 Java API

openCamera

EVS openCamera łączy konfigurację otwierania i strumienia, a Camera2 je rozdziela.

ACameraManager_openCamera a potem ACameraDevice_createCaptureSession z AImageReader a potem ACameraDevice_createCaptureRequest

CameraManager.openCamera, a potem CameraDevice.createCaptureSession (z ImageReader lub innym Surface), a potem CameraDevice.createCaptureRequest

closeCamera ACameraDevice_close CameraDevice.close
getCameraList ACameraManager_getCameraIdList, a potem ACameraManager_getCameraCharacteristics, aby wyświetlić szczegóły. CameraManager.getCameraIdList, a potem CameraManager.getCameraCharacteristics, aby wyświetlić szczegóły.
getStreamList ACameraManager_getCameraCharacteristics, odczyt tagu ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS CameraManager.getCameraCharacteristics, uzyskaj CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP
registerStatusCallback ACameraManager_registerAvailabilityCallback z ACameraManager_AvailabilityListener CameraManager.registerAvailabilityCallback z CameraManager.AvailabilityCallback
isHardware Nie dotyczy Nie dotyczy

getDisplayIdList

Wycofano.

Użyj DisplayManager.getDisplays

Nie dotyczy Nie dotyczy

getDisplayState

Wycofano.

Użyj Display.getState

Nie dotyczy Nie dotyczy

getDisplayStateById

Wycofano.

Użyj DisplayManager.getDisplay, a potem Display.getState

Nie dotyczy Nie dotyczy

openDisplay

Wycofano.

Użyj WindowManager.addView na określonym Display

Nie dotyczy Nie dotyczy

closeDisplay

Wycofano.

Użyj WindowManager.removeView

Nie dotyczy Nie dotyczy

openUltrasonicsArray

Wycofano.

Używaj właściwości VHAL.

Nie dotyczy Nie dotyczy

getUltrasonicsArrayList

Wycofano.

Używaj właściwości VHAL.

Nie dotyczy Nie dotyczy

closeUltrasonicsArray

Wycofano.

Używaj właściwości VHAL.

Nie dotyczy Nie dotyczy

IEvsCamera

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

getPhysicalCameraInfo

W przypadku kamer logicznych sprawdź getPhysicalCameraIds

ACameraManager_getCameraCharacteristics CameraManager.getCameraCharacteristics

setMaxFramesInFlight

Nie można zmieniać dynamicznie w Camera2; ustawiane podczas tworzenia ImageReader

Ustaw w AImageReader_new lub AImageReader_newWithUsage Ustawienie: ImageReader.newInstance(width, height, format, maxImages)
startVideoStream ACameraCaptureSession_setRepeatingRequestV2 CameraCaptureSession.setSingleRepeatingRequest
stopVideoStream ACameraCaptureSession_stopRepeating CameraCaptureSession.stopRepeating

pauseVideoStream

Brak bezpośredniego odpowiednika. Używaj klawisza stopRepeatingRequest

ACameraCaptureSession_stopRepeating CameraCaptureSession.stopRepeating

resumeVideoStream

Brak bezpośredniego odpowiednika. Użyj setSingleRepeatingRequest.

ACameraCaptureSession_setRepeatingRequestV2 CameraCaptureSession.setSingleRepeatingRequest

doneWithFrame

Zwraca bufor do kolejki

AImage_delete Image.close

importExternalBuffers

Zarządzanie buforem jest obsługiwane przez interfejsy. Więcej informacji znajdziesz na stronie CameraCaptureSession.prepare

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

getIntParameterRange

Zakresy są częścią CameraCharacteristics

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

getExtendedInfo

Używaj tagów dostawców do wdrażania danych niestandardowych.

Używanie tagów dostawcy w przypadku ACaptureRequest
lub ACameraMetadata
Używaj tagów dostawcy w przypadku tagów CaptureRequest lub CameraCharacteristics.

setExtendedInfo

Używaj tagów dostawców do wdrażania danych niestandardowych.

Używanie tagów dostawców w przypadku ACaptureRequest Używanie tagów dostawców w przypadku CaptureRequest.Builder

setPrimaryClient

Wycofano.

Stan klienta głównego jest oparty na priorytetach w trybie współdzielonym Camera2.

Nie dotyczy Nie dotyczy

unsetPrimaryClient

Wycofano.

Nie dotyczy Nie dotyczy

forcePrimaryClient

Wycofano.

Nie dotyczy Nie dotyczy

IEvsCameraStream

IEvsCameraStream Camera2 NDK API Camera2 Java API

deliverFrame

Wywołanie zwrotne w celu otrzymania nowych ramek. Zrób zdjęcie za pomocą ImageReader.acquireLatestImage lub ImageReader.acquireNextImage.

onImageAvailableAImageReader_ImageListener

onImageAvailableImageReader.OnImageAvailableListener

notify

Wywołania zwrotne dla zdarzeń przechwytywania (rozpoczęcie, postęp, zakończenie, niepowodzenie) i CameraDevice.StateCallback dla zdarzeń urządzenia (błąd, odłączenie).

ACameraCaptureSession_captureCallbacksV2

CameraCaptureSession.CaptureCallback

IEvsDisplay API

Wszystkie interfejsy API w interfejsie IEvsDisplay zostały wycofane. Producenci OEM powinni używać standardowych klas Androida: