CameraManager cameraManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
String[] cameraIds = cameraManager.getCameraIdList();
// 打开后置摄像头
cameraManager.openCamera(cameraIds[0], cameraDeviceStateCallback, null);
// 打开前置摄像头
cameraManager.openCamera(cameraIds[1], cameraDeviceStateCallback, null);
@Override
public void onOpened(@NonNull CameraDevice camera) {
try {
// 创建CameraCaptureSession对象
camera.createCaptureSession(Arrays.asList(surface), new CameraCaptureSession.StateCallback() {
@Override
public void onConfigured(@NonNull CameraCaptureSession session) {
try {
// 设置需要进行的拍照操作
session.setRepeatingRequest(captureRequestBuilder.build(), null, null);
} catch (CameraAccessException e) {
e.printStackTrace();
}
}
@Override
public void onConfigureFailed(@NonNull CameraCaptureSession session) {
// 处理配置失败情况
}
}, null);
} catch (CameraAccessException e) {
e.printStackTrace();
}
}
以上是Android Camera2API如何在前后摄像头之间切换的解决方法,可以根据具体需求进行代码的修改和优化。