一、Camera2实现预览、拍照、录像三大基础功能的流程框架图

Camera2关键几个类:
CameraManager
管理手机上的所有摄像头设备。管理手机上的所有摄像头设备,它的作用主要是获取摄像头列表和打开(openCamera)指定的摄像头。
它其实是一个系统服务,通过getSystemService(Context.CAMERA_SERVICE)获取,它的作用主要是获取摄像头列表和打开指定的摄像头。
通过CameraManager对象可以得到一些相机的基本信息,这个信息就存储在CameraCharacteristic对象中。
除了获取Camera的属性信息外,CameraManager对象最重要的作用就是打开相机(openCamera),通过CameraManager才能真正的拿到CameraDevice对象去操作相机。
CameraDevice
具体的摄像头设备,它有一系列参数(预览尺寸、拍照尺寸等),可以通过CameraManager的getCameraCharacteristics()方法获取。它的作用主要是创建CameraCaptureSession和CaptureRequest。
CameraCaptureSession
相机捕获会话,代表上层与底层之间的一个会话,通过这个会话可以下发指令给相机,让相机执行预览、拍照录像等操作,在mCameraDevice.createCaptureSession的回调中获得。主要作用是用于处理拍照和预览的工作(很重要)。
想从相机设备中获取Image,首先要创建一个CameraCaptureSession把接收数

文章详细介绍了AndroidCamera2API的使用,包括CameraManager、CameraDevice、CameraCaptureSession和CaptureRequest等关键类的作用,以及预览、拍照、录像的基础流程。Camera2提供了更多的高级特性,如检查相机信息、无预览拍照、控制曝光时间等,并给出了从Camera1迁移到Camera2的建议。
最低0.47元/天 解锁文章
539

被折叠的 条评论
为什么被折叠?



