Camera2暗光场景很暗原因

Camera2相机在暗光环境里,发现画面非常暗,而系统自带的相机渲染的画面还算不错,调了很久发现是设置了帧率的原因。

设置帧率时,建议选最大与最小都是最大的,如5~30帧,如果只选30帧,则即使在暗光环境下依旧无法自动曝光:

try {
            //自动聚焦
        //    mPreviewBuilder.set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE);
            //自动曝光
        //    mPreviewBuilder.set(CaptureRequest.CONTROL_AE_MODE, CaptureRequest.CONTROL_AE_MODE_ON_AUTO_FLASH);
            //自动控制模式
            mPreviewBuilder.set(CaptureRequest.CONTROL_MODE, CameraMetadata.CONTROL_MODE_AUTO);
            // 设置预览画面的帧率 视实际情况而定选择一个帧率范围
            mPreviewBuilder.set(CaptureRequest.CONTROL_AE_TARGET_FPS_RANGE, fpsRanges[2]);

            mPreviewSession.setRepeatingRequest(mPreviewBuilder.build(), previewCallback, mCameraHandler);
            for (int i = 0; i < fpsRanges.length; i++) {
                Log.e("setRepeatingPreview", "setRepeatingPreview,fpsRanges[" + i + "]=" + fpsRanges[i]);
            }
        } catch (CameraAccessException e) {
            e.printStackTrace();
        }
上面fpsRanges[2]选择了5~30帧的范围,这样设置即可在暗光环境下画面也依旧出色(前提需要机子硬件支持才行~)

你可能感兴趣的:(Android,camera2,音视频,滤镜,OpenGL)