ZXing设置前置摄像头扫描

落爺英雄遲暮 提交于 2019-11-26 03:31:53

看了写一些资料后面自己总结了下,大概整理为如下:

//判断是否有前置摄像头
private int FindFrontCamera() {
    int cameraCount = 0;
    Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
    cameraCount = Camera.getNumberOfCameras(); // get cameras number
    for (int camIdx = 0; camIdx < cameraCount; camIdx++) {
        Camera.getCameraInfo(camIdx, cameraInfo); // get camerainfo
        if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
            // 代表摄像头的方位,目前有定义值两个分别为CAMERA_FACING_FRONT前置和CAMERA_FACING_BACK后置
            return camIdx;
        }
    }
    return -1;
}

//判断是否有后置摄像头
private int FindBackCamera() {
    int cameraCount = 0;
    Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
    cameraCount = Camera.getNumberOfCameras(); // get cameras number
    for (int camIdx = 0; camIdx < cameraCount; camIdx++) {
        Camera.getCameraInfo(camIdx, cameraInfo); // get camerainfo
        if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_BACK) {
            // 代表摄像头的方位,目前有定义值两个分别为CAMERA_FACING_FRONT前置和CAMERA_FACING_BACK后置
            return camIdx;
        }
    }
    return -1;
}

然后找到ZXing封装的工具类里面的CameraManager类中的:

在请求摄像头id(requestedCameraId)的时候让它去查找摄像头的前置id,然后传入.open(requestedCameraId)方法,即可实现调用前置摄像头扫描的功能(我这前置是1,后置是0)。

相当于做个笔记吧,希望对大家有所帮助。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!