首页 > 解决方案 > 带摄像头的光传感器仿真

问题描述

我已经用 camera2 API 对相机进行了编程,但是当我执行 onCaptureCompleted 或 onCaptureProgressed 方法时,除了 LENS_FOCAl_LENGTH 之外的值都为 null。

@Override
    public void onCaptureCompleted(@NonNull CameraCaptureSession session, @NonNull CaptureRequest request, @NonNull TotalCaptureResult result) {
        super.onCaptureCompleted(session, request, result);

        String aperture = String.valueOf(result.get(CaptureResult.LENS_APERTURE));
        String focal_length = String.valueOf(result.get(CaptureResult.LENS_FOCAL_LENGTH));
        String focus_distance = String.valueOf(result.get(CaptureResult.LENS_FOCUS_DISTANCE));
        String exposure_time = String.valueOf(result.get(CaptureResult.SENSOR_EXPOSURE_TIME));
        String frame_duration = String.valueOf(result.get(CaptureResult.SENSOR_EXPOSURE_TIME));
        String sensitivity = String.valueOf(result.get(CaptureResult.SENSOR_SENSITIVITY));

    }

在此处输入图像描述

标签: javaandroidcameraandroid-camera2

解决方案


您需要在其他设备上进行测试。根据文档(https://developer.android.com/reference/android/hardware/camera2/CaptureResult),几乎所有值“可选 - 此键的值在某些设备上可能为空。”

但是例如,在您的情况下不为空的 LENS_FOCAL_LENGTH 是“此密钥在所有设备上都可用”。所以所有值都取决于设备类型。


推荐阅读