4

如何使用 Android camera2 api 使用闪光灯执行手动(触摸)对焦?

我的 captureRequest 设置是: 1. 类型 - TEMPLATE_PREVIEW 2. CONTROL_AE_MODE - CONTROL_AE_MODE_OFF 3. FLASH_MODE - FLASH_MODE_SINGLE 4. CONTROL_AF_TRIGGER - CONTROL_AF_TRIGGER_START

用法:

CaptureSession.capture(captureRequest.build(), captureCallback, null);

结果:如果光线充足,相机就会对焦。否则闪光灯会非常快地闪烁并且对焦失败。

4

1 回答 1

2

您可以尝试通过这种方式使用闪光灯进行手动(Touch)对焦:</p>

mPreviewBuilder.set(CaptureRequest.CONTROL_AE_MODE, CameraMetadata.CONTROL_AE_MODE_ON_AUTO_FLASH);

使用 TRIGGER 时,同时使用 AE 和 AF:

mPreviewBuilder.set(CaptureRequest.CONTROL_AF_TRIGGER, CameraMetadata.CONTROL_AF_TRIGGER_CANCEL);
mPreviewBuilder.set(CaptureRequest.CONTROL_AF_TRIGGER, CameraMetadata.CONTROL_AF_TRIGGER_START);
mPreviewBuilder.set(CaptureRequest.CONTROL_AE_PRECAPTURE_TRIGGER, CameraMetadata.CONTROL_AE_PRECAPTURE_TRIGGER_START);

接着:

mCameraCaptureSession.setRepeatingRequest(mPreviewBuilder.build(), mPreviewSessionCallback, mHandler);
于 2014-12-23T10:10:57.470 回答