From b3810562527858a3b3d98ffa6e9c9c5b0f4a9a8e Mon Sep 17 00:00:00 2001 From: liyujie <2352380935@qq.com> Date: Thu, 28 Aug 2025 12:04:14 +0000 Subject: [PATCH] [1/4]解决USB摄像头打开相机预览界面绿屏 --- android/frameworks/ex/camera2/portability/src/com/android/ex/camera2/portability/AndroidCamera2AgentImpl.java | 18 ++++++++++++++++++ 1 files changed, 18 insertions(+), 0 deletions(-) diff --git a/android/frameworks/ex/camera2/portability/src/com/android/ex/camera2/portability/AndroidCamera2AgentImpl.java b/android/frameworks/ex/camera2/portability/src/com/android/ex/camera2/portability/AndroidCamera2AgentImpl.java index 2fc4ad3..1da6ed0 100644 --- a/android/frameworks/ex/camera2/portability/src/com/android/ex/camera2/portability/AndroidCamera2AgentImpl.java +++ b/android/frameworks/ex/camera2/portability/src/com/android/ex/camera2/portability/AndroidCamera2AgentImpl.java @@ -1292,6 +1292,7 @@ private final int mNumberOfCameras; private final int mFirstBackCameraId; private final int mFirstFrontCameraId; + private final int mFirstExternalCameraId; public AndroidCamera2DeviceInfo(CameraManager cameraManager, String[] cameraIds, int numberOfCameras) { @@ -1301,6 +1302,7 @@ int firstBackId = NO_DEVICE; int firstFrontId = NO_DEVICE; + int firstExternalId = NO_DEVICE; for (int id = 0; id < cameraIds.length; ++id) { try { int lensDirection = cameraManager.getCameraCharacteristics(cameraIds[id]) @@ -1313,12 +1315,17 @@ lensDirection == CameraCharacteristics.LENS_FACING_FRONT) { firstFrontId = id; } + if (firstFrontId == NO_DEVICE && + lensDirection == CameraCharacteristics.LENS_FACING_EXTERNAL) { + firstExternalId = id; + } } catch (CameraAccessException ex) { Log.w(TAG, "Couldn't get characteristics of camera '" + id + "'", ex); } } mFirstBackCameraId = firstBackId; mFirstFrontCameraId = firstFrontId; + mFirstExternalCameraId = firstExternalId; } @Override @@ -1347,6 +1354,11 @@ return mFirstFrontCameraId; } + @Override + public int getFirstExternalCameraId() { + return mFirstExternalCameraId; + } + private static class AndroidCharacteristics2 extends Characteristics { private CameraCharacteristics mCameraInfo; @@ -1367,6 +1379,12 @@ } @Override + public boolean isFacingExternal() { + return mCameraInfo.get(CameraCharacteristics.LENS_FACING) + .equals(CameraCharacteristics.LENS_FACING_EXTERNAL); + } + + @Override public int getSensorOrientation() { return mCameraInfo.get(CameraCharacteristics.SENSOR_ORIENTATION); } -- Gitblit v1.6.2