Ручная фокусировка в camera2, android
Я ищу пример ручной фокусировки в camera2 в android. Я пытался получить минимальное фокусное расстояние, фокусное расстояние показано ниже, но это не помогло. Как контролировать фокусное расстояние ?
float minimumLens = characteristics.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE);
float[] lensDistances = characteristics.get(CameraCharacteristics.LENS_INFO_AVAILABLE_FOCAL_LENGTHS);
Мне нужно контролировать его с помощью seekbar. Спасибо заранее.
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;}
будьте осторожны, CONTROL_AF_MODE должен быть OFF.
https://github.com/pinguo-yuyidong/Camera2/blob/master/app/src/main/java/us/yydcdut/androidltest/ui/DisplayFragment.java
код в строке 1109