问题
i am looking for an example of manual focus in camera2 in android. I tried to get minimum focus distance and available focal lengths shown below, but it didn't help. How to control the focus distance ?
float minimumLens = characteristics.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE);
float[] lensDistances = characteristics.get(CameraCharacteristics.LENS_INFO_AVAILABLE_FOCAL_LENGTHS);
I need to control it with seekbar. Thanks in advance.
回答1:
switch (seekBar.getId()) {
case R.id.sb_focus:
float minimumLens = mCameraCharacteristics.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE);
float num = (((float) i) * minimumLens / 100);
mPreviewBuilder.set(CaptureRequest.LENS_FOCUS_DISTANCE, num);
int showNum = (int) num;
mSeekBarTextView.setText("focus:" + showNum);
break;}
be careful ,CONTROL_AF_MODE should be OFF.
https://github.com/pinguo-yuyidong/Camera2/blob/master/app/src/main/java/us/yydcdut/androidltest/ui/DisplayFragment.java
code in Line 1109
来源:https://stackoverflow.com/questions/28170491/manual-focus-in-camera2-android