Camera2 API のマッピング

このページでは、Camera2 API がコアの Extended View System(EVS)API を置き換える方法について説明します。

IEvsEnumerator API

IEvsEnumerator Camera2 NDK API Camera2 Java API

openCamera

EVS openCamera はオープンとストリーム構成を組み合わせますが、Camera2 はそれらを分離します。

ACameraManager_openCamera 次に ACameraDevice_createCaptureSession AImageReader 次に ACameraDevice_createCaptureRequest

CameraManager.openCameraCameraDevice.createCaptureSessionImageReader またはその他のSurface)、CameraDevice.createCaptureRequest

closeCamera ACameraDevice_close CameraDevice.close
getCameraList ACameraManager_getCameraIdListACameraManager_getCameraCharacteristics(詳細) CameraManager.getCameraIdListCameraManager.getCameraCharacteristics(詳細)
getStreamList ACameraManager_getCameraCharacteristicsACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS タグを読み取る CameraManager.getCameraCharacteristicsCameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP を取得
registerStatusCallback ACameraManager_AvailabilityListener を含む ACameraManager_registerAvailabilityCallback CameraManager.AvailabilityCallback を含む CameraManager.registerAvailabilityCallback
isHardware なし なし

getDisplayIdList

非推奨。

DisplayManager.getDisplays を使用してください

なし なし

getDisplayState

非推奨。

Display.getState を使用してください

なし なし

getDisplayStateById

非推奨。

DisplayManager.getDisplay を使用してから、Display.getState を使用します。

なし なし

openDisplay

非推奨。

特定の DisplayWindowManager.addView を使用します。

なし なし

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

バッファ管理は Surface によって処理されます。詳しくは、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

キャプチャ イベント(開始、進行状況、完了、失敗)のコールバックと、デバイス イベント(エラー、切断)の CameraDevice.StateCallback

ACameraCaptureSession_captureCallbacksV2

CameraCaptureSession.CaptureCallback

IEvsDisplay API

IEvsDisplay インターフェースのすべての API は非推奨になりました。OEM は標準の Android クラスを使用する必要があります。