在我的android相机应用程序中,我使用了camera2 api。应用程序不显示相机的预览,并且我已经以某种方式实现了它,当用户界面上的按钮被按下时,它会拍摄一张图像。但问题在于自动对焦和自动曝光。简单地说,我需要相机始终专注于视图的中间。所以建立请求时,我添加以下属性:Android Camera2:自动对焦和曝光

captureBuilder.set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_AUTO);

captureBuilder.set(CaptureRequest.CONTROL_AE_MODE, CaptureRequest.CONTROL_AE_MODE_ON);

captureBuilder.set(CaptureRequest.CONTROL_AWB_MODE, CaptureRequest.CONTROL_AWB_MODE_AUTO);

captureBuilder.set(CaptureRequest.CONTROL_AF_TRIGGER, CameraMetadata.CONTROL_AF_TRIGGER_START);

captureBuilder.set(CaptureRequest.CONTROL_AE_PRECAPTURE_TRIGGER, CameraMetadata.CONTROL_AE_PRECAPTURE_TRIGGER_START);

但问题仍然是图像不聚焦。

我有几个问题:

我需要实现内部CameraCaptureSession.CaptureCallback的方法一些检查?

我还注意到onImageAvailable被ImageReader.OnImageAvailableListener所调用,onCaptureProgressed的方法CameraCaptureSession.CaptureCallback没有被触发。

我在这里失踪的是什么?我是否需要实现一个线程才能等待摄像机聚焦,然后按下拍摄按钮时才会开始。

请注意,此应用程序没有相机预览。

2017-10-19

KTB

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐