前言
前面我们已经实现了基本的相机拍照的功能,今天我们来实现一下前后相机切换的功能。
1、前后摄像头的切换
从CameraInfo里面我们可以得知后置摄像头对应cameraId为0,前置为1
public static class CameraInfo {
/**
* The facing of the camera is opposite to that of the screen.
*/
public static final int CAMERA_FACING_BACK = 0;
/**
* The facing of the camera is the same as that of the screen.
*/
public static final int CAMERA_FACING_FRONT = 1;
/**
* The direction that the camera faces. It should be
* CAMERA_FACING_BACK or CAMERA_FACING_FRONT.
*/
public int facing;
...
}
前后摄像头切换时要释放必要的资源然后重新开启,同时配置原来的参数设置,保证画面预览是正常的。在 CameraSurfaceView 中添加切换的方法:
private int cameraId = 0;
//切换摄像头
public void switchCamera(){
int cameraCount = Camera.getNumberOfCameras();//得到摄像头的个数