Mapowanie interfejsu Camera2 API

Na tej stronie znajdziesz podsumowanie, jak interfejsy Camera2 API zastępują podstawowe interfejsy Extended View System (EVS) API.

IEvsEnumerator API

IEvsEnumerator Camera2 NDK API Camera2 Java API

openCamera

W EVS openCamera łączyło otwieranie i konfigurację strumienia. W Camera2 są one rozdzielone.

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 w celu uzyskania szczegółów CameraManager.getCameraIdList, a potem CameraManager.getCameraCharacteristics w celu uzyskania szczegółów
getStreamList ACameraManager_getCameraCharacteristics, odczytaj tag ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS CameraManager.getCameraCharacteristics, pobierz 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żyj właściwości VHAL.

Nie dotyczy Nie dotyczy

getUltrasonicsArrayList

Wycofano.

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

Nie dotyczy Nie dotyczy

closeUltrasonicsArray

Wycofano.

Użyj 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 zmienić dynamicznie w Camera2. Ustaw podczas tworzenia ImageReader

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

pauseVideoStream

Brak bezpośredniego odpowiednika. Użyj stopRepeatingRequest

ACameraCaptureSession_stopRepeating CameraCaptureSession.stopRepeating

resumeVideoStream

Brak bezpośredniego odpowiednika. Użyj setSingleRepeatingRequest

ACameraCaptureSession_setRepeatingRequestV2 CameraCaptureSession.setSingleRepeatingRequest

doneWithFrame

Zwalnia bufor z powrotem do kolejki

AImage_delete Image.close

importExternalBuffers

Zarządzanie buforem jest obsługiwane przez Surfaces. Więcej informacji znajdziesz w artykule 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żyj tagów dostawcy, aby zaimplementować dane niestandardowe.

Użyj tagów dostawcy w ACaptureRequest
lub ACameraMetadata
Użyj tagów dostawcy w CaptureRequest lub CameraCharacteristics

setExtendedInfo

Użyj tagów dostawcy, aby zaimplementować dane niestandardowe.

Użyj tagów dostawcy w ACaptureRequest Użyj tagów dostawcy w CaptureRequest.Builder

setPrimaryClient

Wycofano.

Stan klienta głównego jest oparty na priorytecie 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 do odbierania nowych klatek. Pobierz obraz za pomocą ImageReader.acquireLatestImage lub ImageReader.acquireNextImage

onImageAvailable z AImageReader_ImageListener

onImageAvailable z ImageReader.OnImageAvailableListener

notify

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

ACameraCaptureSession_captureCallbacksV2

CameraCaptureSession.CaptureCallback

IEvsDisplay API

Wszystkie interfejsy API w interfejsie IEvsDisplaywycofane. Producenci OEM powinni używać standardowych klas Androida: