Android 5.0 Lollipop新的摄像头API

前记:今天突然发现我刚打开的项目代码在eclipse中打了好几个警告,Camera is deprecated, Camera.Parameters is deprecated……等已经废弃的警告。一看官方文档原来Google本次Android版本更新对Camera这块新出了替代类android.hardware.camera2。

       这个类把Camera设备封装成多级(包含多个处理阶段)的线性管道,这个管道用来处理输入请求中捕获的每个帧。通过camera2向系统请求拍照时,会返回一个带有一套图像缓冲的输出数据包。如果多个请求的会按顺序处理,多次重复请求只发一次。

使用新API
   1.获取CameraManager实例就可以遍历,查询和打开一个Camera对象。
  2.通过cameraManager对象调研getCameraCharacteristics(String)来获得CameraCharacteristics对象,该对象包含设备的设置信息和输出参数。
   3.通过CameraCaptureSession对象为每个预览对象进行预设置,如大小和format(这些格式必须是设备支持的),可以调用camera.createCaptureSession(List, CameraCaptureSession.StateCallback, Handler)就可获得此对象。

   4.创建SurfaceView orTextureView (via its SurfaceTexture).  渲染图像。系统底层或调用RenderScript或OpenGles,甚至native本地方法来实例传给view的数据。
   5.构造一个CaptureRequest对象,来描述每次捕获图片的具体设置。
   6.最终调用capture()方法完成图像的捕获。


注意事项:
      如果用cameraManager对象打开或获取camera对象失败将,再或者试图连接到一个已经打开的设备抛出异常,记得用CameraAccessException捕获并处理异常。




郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。