问题
I'm working with Android camera2 API.
I can get focus distance value using LENS_FOCUS_DISTANCE in manual focus mode. However, the property is always zero in AF mode. Is there any way to get focus distance in AF mode?
回答1:
Shortest distance from frontmost surface of the lens that can be brought into sharp focus.
If the lens is fixed-focus, this will be 0.
http://developer.android.com/intl/es/reference/android/hardware/camera2/CameraCharacteristics.html
In other way, if you want to manage focus, remember that LENS_INFO_MINIMUM_FOCUS_DISTANCE
give you the minimum focus, but to get the "Max" focus you must use LENS_INFO_HYPERFOCAL_DISTANCE
.
float yourMinFocus = mCameraCharacteristics.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE);
float yourMaxFocus = mCameraCharacteristics.get(CameraCharacteristics.LENS_INFO_HYPERFOCAL_DISTANCE);
回答2:
If the value of LENS_INFO_MINIMUM_FOCUS_DISTANCE
is 0, it means it is fixed focus and not supporting manual focus.
Limited capability - Present on all camera devices that report being at least HARDWARE_LEVEL_LIMITED
来源:https://stackoverflow.com/questions/30724839/android-camera2-api-get-focus-distance-in-af-mode