使用camera2拍照时如何获得曝光时间?

how can i get EXPOSURE TIME when i take picture using camera2?

你好,我用的是android相机2,我想在没有Exif接口的情况下获取我的图片保存时的曝光时间。

有可能得到这个值吗?怎么做到的?

我试了很多次,结果是0

有我的代码:

public void onCaptureCompleted(@NonNull CameraCaptureSession session, @NonNull CaptureRequest request, @NonNull TotalCaptureResult result) {
    super.onCaptureCompleted(session, request, result);
    Toast.makeText(MainActivity.this, "Saved "+file, Toast.LENGTH_SHORT).show();

    Log.d(TAG, String.valueOf(result.get(CaptureRequest.SENSOR_EXPOSURE_TIME)));

    createCameraPreview();
}

我把这段代码放在 captureComplete 上我认为这是获取这个值的最佳位置。

谢谢!

您需要使用 CaptureResult 而不是 CaptureRequest。您可以在下面的示例中看到如何:

public void onCaptureCompleted(@NonNull CameraCaptureSession session, @NonNull CaptureRequest request, @NonNull TotalCaptureResult result) {
     super.onCaptureCompleted(session, request, result);
     Toast.makeText(MainActivity.this, "Saved "+file, Toast.LENGTH_SHORT).show();

     Log.d(TAG, String.valueOf(result.get(CaptureResult.SENSOR_EXPOSURE_TIME)));

     createCameraPreview();
}