欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Android 获取手机前置摄像头和后置摄像头的序列号

最编程 2024-04-15 10:26:50
...
public class CameraUtils {
    public static final int CAMERA_FACING_BACK = 0;
    public static final int CAMERA_FACING_FRONT = 1;

    //查找前置摄像头Id
    public static List<Integer> getFontCamera() {
        int numberOfCameras = Camera.getNumberOfCameras();
        List<Integer> fontNumList = new ArrayList<Integer>();
        Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
        for (int i = 0; i < numberOfCameras; i++) {
            Camera.getCameraInfo(i, cameraInfo);
            if (cameraInfo.facing == CAMERA_FACING_FRONT) {
                fontNumList.add(i);
            }
        }
        return fontNumList;
    }

    //查找后摄像头Id
    public static List<Integer> getBackCamera() {
        int numberOfCameras = Camera.getNumberOfCameras();
        List<Integer> fontNumList = new ArrayList<Integer>();
        Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
        for (int i = 0; i < numberOfCameras; i++) {
            Camera.getCameraInfo(i, cameraInfo);
            if (cameraInfo.facing == CAMERA_FACING_BACK) {
                fontNumList.add(i);
            }
        }
        return fontNumList;
    }
}

我所遇到的问题:有些后置摄像头是双摄像头的,只能获取得到一个摄像头。
主摄id为1,副摄一般id为2,副摄对App不可见,只能在FrameWork层做处理。

推荐阅读