Android 基于Camera2 API进行摄像机图像预览-Camera2 API简介

时间:2024-11-24 13:51:49

Android Camera2 API 是从 Android 5.0(Lollipop)开始引入的,用以取代旧的 Camera API。Camera2 提供了更强大和灵活的相机控制能力,允许开发者实现更多的相机功能,如手动对焦、手动曝光、原生 RAW 图像捕获等。

在开始使用Camera2之前,我们先来了解下Camera2使用过程中需要用到的相关类:

  • CameraManager:相机管理器,安卓系统针对不同的功能模块会创建不同的Manager,所以相机也不例外,一般主要用来open相机或者查询相机列表以及对应相机的参数等。

  • CameraDevice:代表一个物理相机设备,可以打开、配置和关闭相机设备等。

  • CameraCaptureSession:相机捕获会话,用于发送捕获请求和接收捕获结果,可以预览、拍照、录像等。

  • CameraCharacteristics:提供了相机设备的静态信息,如支持的参数、分辨率、对焦模式等。

整个执行流程大致上如下:

flowchart TB
    获取CameraManager对象 --> 通过CameraManager打开指定ID的相机 --> 打开后拿到到CameraDevice对象 --> 通过CameraDevice创建CameraCaptureSession对象 --> 通过CameraCaptureSession开启预览

现在已经简单的知晓了相关类的用途和流程,那么我们接下来开始实现Camera2的预览功能。