android-camera2提升及调用详解

android-camera2提升及调用详解

ID:9932892

大小:191.89 KB

页数:19页

时间:2018-05-16

android-camera2提升及调用详解_第1页
android-camera2提升及调用详解_第2页
android-camera2提升及调用详解_第3页
android-camera2提升及调用详解_第4页
android-camera2提升及调用详解_第5页
资源描述:

《android-camera2提升及调用详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Camera2详解官方的说法:Camera2API·Supports30fpsfullresolutionwithburstmode 支持30fps的全高清连拍·Supportschangeonmanualcamerasettingsbetweenframecapture 支持帧之间的手动设置·SupportsRAWimagecapture 支持RAW格式的图片拍摄·SupportsZeroShutterLag&MovieSnapshot 支持快门0延迟以及电影速拍·Supportssettingotherm

2、anualcameradevicecontrolsincludinglevelofNoiseCancelling 支持相机其他方面的手动控制包括噪音消除的级别·TextureView代替SurfaceView展示预览还有部分新功能没有列出Google采用了pipeline(管道)的概念,将CameraDevice相机设备和Android Device安卓设备连接起来, android Device通过管道发送CaptureRequest拍照请求给CameraDevice,CameraDevice通过管道返回C

3、ameraMetadata数据给AndroidDevice,这一切建立在一个叫作CameraCaptureSession的会话中。下面是camera2包中的主要类: 其中CameraManager是所有相机设备(CameraDevice)的管理者,而每个CameraDevice自己会负责建立CameraCaptureSession以及建立CaptureRequest。CameraCharacteristics是CameraDevice的属性描述类,在CameraCharacteristics中可以进行相机设备

4、功能的详细设定(当然了,首先你得确定你的相机设备支持这些功能才行)。类图中有着三个重要的callback,其中CameraCaptureSession.CaptureCallback将处理预览和拍照图片的工作,需要重点对待。这些类是如何相互配合的?下面是简单的流程图: 1.可以看出调用openCamera方法后会回调CameraDevice.StateCallback这个方法,在该方法里重写onOpened函数。2.在onOpened方法中调用createCaptureSession,该方法又回调Camera

5、CaptureSession.StateCallback方法。3.在CameraCaptureSession.StateCallback中重写onConfigured方法,设置setRepeatingRequest方法(也就是开启预览了)。1.setRepeatingRequest又会回调 CameraCaptureSession.CaptureCallback方法。2.重写CameraCaptureSession.CaptureCallback中的 onCaptureCompleted方法,result就是

6、未经过处理的元数据了。顺便提一下onCaptureProgressed方法很明显是在Capture过程中的,也就是在onCaptureCompleted之前,所以,在这之前相对图像干什么就看你的了,像美颜等操作就可以在这个方法中实现了。可以看出Camera2相机使用的逻辑还是比较简单的,其实就是3个Callback函数的回调,先说一下:setRepeatingRequest和capture方法其实都是向相机设备发送获取图像的请求,但是capture就获取那么一次,而setRepeatingRequest就是不

7、停的获取图像数据,所以呢,使用capture就想拍照一样,图像就停在那里了,但是setRepeatingRequest一直在发送和获取,所以需要连拍的时候就调用它,然后在onCaptureCompleted中保存图像就行了。(注意了,图像的预览也是用的setRepeatingRequest,只是你不处理数据就行了)调用流程:1.获取TextureView对象mPreviewView=(TextureView)findViewById(R.id.textureview);mPreviewView.setSurf

8、aceTextureListener(this);//2.TextureView初始化完毕开始初始化相机并绑定CameraID@SuppressWarnings("ResourceType")@OverridepublicvoidonSurfaceTextureAvailable(SurfaceTexturesurface,intwidth,intheight){CameraManagercamer

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。