迟到了3个月。。
参考项目https://github.com/pinguo-yuyidong/Camera2
camera2拍照过程大概如图所示
1.通过系统CameraManager和目标摄像头id,获取摄像头硬件类CameraDevice
2.CameraDevice新建CaptureRequest.Builder,这个构建类请求中存放拍照/取景的具体参数配置。建立时通过createCaptureRequest (int templateType)构建方法设置工作模式(取景,拍照,录像等)。建立后通过配置参数设置具体拍照属性(快门时间,感光度,白平衡,对焦参数,变焦,ae,af等)。
3.CameraDevice通过createCaptureSession方法,建立CaptureSession,完成后会自动开始调用回调函数CameraCaptureSession.StateCallback
4.在CameraCaptureSession.StateCallback中,为CameraCaptureSession配置工作模式(单张拍摄,多请求拍摄,无脑连拍等),配置完成摄像头开始工作。
5.单次采样完成后,自动调用CameraCaptureSession.CaptureCallback。在这里面可以进行增加图片滤镜,保存原始文件等操作。
6所有请求完成后结束工作
网友评论