camera2简介

新相机有套路,按照一下流程打开

1、打开相机,需要获取权限(代码中获取)

打开相机

2、创建相机会话

在打开相机回调中创建

camera2简介_第1张图片
创建时机

创建需要指出带有surface的目标,这些目标可以接受数据

camera2简介_第2张图片
创建会话

3、开启预览

创建会话成功后进行预览

camera2简介_第3张图片
预览时机

预览到TextureView, SurfaceView等

camera2简介_第4张图片
具体会话

我这里是包括了imageReader取照片,和视频;上面注意照片和视频格式;addTarget方法,capture和setRepeatingRequest方法

4、取数据

1)会话请求参数在addTarget中包括ImagerReader的surface

2)之后imageReader的回调就会收到数据信息

5、ImageReader

创建时需要注意格式,图片采用ImageFormat.JPEG, 视频采用ImageFormat.YUV_420_888

具体为啥:图片格式是好用,视频格式时google建议,兼容比较好

创建和增加数据回调
camera2简介_第5张图片
数据回调处理

回调处理时需要用过Image后进行销毁;

image的常用方法

getPlanes:获取图片或视频帧像素信息,上述图片格式时,数据一维数组,直接是图片二进制信息;视频时,上述格式YUV三维数组

getWidth:宽度

getHeight:高度

close:释放

你可能感兴趣的:(camera2简介)