- 切换相机
/
void switchCamera(int facing);
/* - 设置Facing
/
void setCameraFacing(int facing);
/* - 获取Facing
/
int getCameraFacing();
/* - 设置预览尺寸
/
void setPreviewSize(Size cameraSize);
/* - 获取预览尺寸
/
Size getPreviewSize();
/* - 设置显示旋转角度
/
void setDisplayOrientation(int displayOrientation);
/* - 获取显示旋转角度
/
int getDisplayOrientation();
/* - 释放相机
/
void releaseCamera();
/* - 添加相机回调
/
void addOnCameraListener(OnCameraListener onCameraListener);
/* - 移除相机回调
/
void removeOnCameraListener(OnCameraListener onCameraListener);
/* - 移除所有回调
*/
void removeAllOnCameraListener();
}
注意到,里面有个相机回调OnCameraListener
,这是自定义的一个相机回调
public interface OnCameraListener {
/**
- 相机打开
*/
void onCameraOpened(Size cameraSize, int facing);
/**
- 相机关闭
*/
void onCameraClosed();
/**
- 相机异常
*/
void onCameraError(Exception e);
}
接下来,我们新建CameraManager
,实现ICamera
接口
public class CameraManager i 《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》无偿开源 徽信搜索公众号【编程进阶路】 mplements ICamera {
/**
- Camera实现
*/
private final ICamera camera = new Camera1();
/**
- 后台线程
*/
private Handler handler;
private HandlerThread thread;
@