在Android上设置对焦模式的方法如下:
1. 使用Camera2 API:在使用Camera2 API时,可以通过设置CaptureRequest.Builder的CaptureRequest.CONTROL_AF_MODE参数来设置对焦模式。常用的对焦模式有:
- CONTROL_AF_MODE_AUTO:自动对焦模式。
- CONTROL_AF_MODE_CONTINUOUS_PICTURE:连续自动对焦模式。
- CONTROL_AF_MODE_CONTINUOUS_VIDEO:连续自动对焦模式(适用于视频录制)。
- CONTROL_AF_MODE_MACRO:微距对焦模式。
- CONTROL_AF_MODE_OFF:禁用对焦功能。
示例代码如下:
```java
CaptureRequest.Builder builder = cameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
builder.set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_AUTO);
cameraCaptureSession.setRepeatingRequest(builder.build(), null, null);
```
2. 使用Camera API:在使用Camera API时,可以通过设置Camera.Parameters的FocusMode参数来设置对焦模式。常用的对焦模式有:
- FOCUS_MODE_AUTO:自动对焦模式。
- FOCUS_MODE_CONTINUOUS_PICTURE:连续自动对焦模式。
- FOCUS_MODE_CONTINUOUS_VIDEO:连续自动对焦模式(适用于视频录制)。
- FOCUS_MODE_MACRO:微距对焦模式。
- FOCUS_MODE_FIXED:固定焦距模式。
示例代码如下:
```java
Camera.Parameters parameters = camera.getParameters();
parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
camera.setParameters(parameters);
```
请注意,在使用Camera2 API时,需要先通过CameraManager.openCamera()方法获取CameraDevice对象;而在使用Camera API时,需要先通过Camera.open()方法获取Camera对象。