מיפוי של Camera2 API

בדף הזה מוסבר איך Camera2 APIs מחליפים את ממשקי ה-API הבסיסיים של מערכת התצוגה החיצונית (EVS).

IEvsEnumerator API

IEvsEnumerator Camera2 NDK API Camera2 Java API

openCamera

ב-EVS openCamera ההגדרה של פתיחה ושידור משולבת, וב-Camera2 הן מופרדות.

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

הפלטפורמות מטפלות בניהול המאגר. מידע נוסף זמין במאמר 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

‫Callbacks לאירועי צילום (התחלה, התקדמות, השלמה, כשל) ו-CameraDevice.StateCallback לאירועי מכשיר (שגיאה, ניתוק).

ACameraCaptureSession_captureCallbacksV2

CameraCaptureSession.CaptureCallback

IEvsDisplay API

כל ממשקי ה-API בממשק IEvsDisplay הוצאו משימוש. יצרני ציוד מקורי (OEM) צריכים להשתמש במחלקות Android רגילות: