Android Camera2 API

本文介绍了Android5.0后引入的Camera2API,详细讲解了CameraManager、CameraCharacteristics、CameraDevice、CameraCaptureSession和CameraRequest等核心类的功能,包括摄像头方向、输出格式、对焦、曝光等设置。阅读源码是提升技能的重要途径。
摘要由CSDN通过智能技术生成

0、相关文章:

1、简介

2、Camera2 中主要的API类

2.1、CameraManager类

2.2、CameraCharacteristics类

2.2.1、LENS_FACING:获取摄像头方向

2.2.2、SCALER_STREAM_CONFIGURATION_MAP:

2.2.3、SENSOR_ORIENTATION

2.2.4、FLASH_INFO_AVAILABLE

2.2.5、SCALER_AVAILABLE_MAX_DIGITAL_ZOOM

2.2.6、LENS_INFO_MINIMUM_FOCUS_DISTANCE

2.2.7、INFO_SUPPORTED_HARDWARE_LEVEL

2.3、CameraDevice类

2.4、CameraCaptureSession类

2.5、CameraRequest类


0、相关文章:

=======

Android Camera2 API和拍照与录像过程(阅读量2.3w,14赞)

Android Camera2教程之打开相机、开启预览、实现PreviewCallback、拍照(阅读量4w,28赞)

1、简介

====

Android 5.0开始出现了新的相机Camera 2 API,用来替代以前的camera api。

Camera2 API不仅提高了android系统的拍照性能,还支持RAW照片输出,还可以设置相机的对焦模式,曝光模式,快门等等。

2、Camera2 中主要的API类

==================

  • CameraManager类 : 摄像头管理类,用于检测、打开系统摄像头,通过getCameraCharacteristics(cameraId)可以获取摄像头特征。

  • CameraCharacteristics类:相机特性类,例如,是否支持自动调焦,是否支持zoom,是否支持闪光灯一系列特征。

  • CameraDevice类: 相机设备,类似早期的camera类。

  • CameraCaptureSession类:用于创建预览、拍照的Session类。通过它的setRepeatingRequest()方法控制预览界面 , 通过它的capture()方法控制拍照动作或者录像动作。

  • CameraRequest类:一次捕获的请求,可以设置一些列的参数,用于控制预览和拍照参数,例如:对焦模式,曝光模式,zoom参数等等。

2.1、CameraManager类


摄像头管理类,用于检测、打开系统摄像头,通过getCameraCharacteristics(cameraId)可以获取摄像头特征。

CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);

2.2、CameraCharacteristics类


相机特性类:CameraCharacteristics是一个包含相机参数的对象,可以通过一些key获取对应的values。

2.2.1、LENS_FACING:获取摄像头方向

//摄像头的方向

final Integer facing = characteristics.get(CameraCharacteristics.LENS_FACING);

// We don’t use a front facing camera in this sample.

// 在本案例中,我们不考虑前置摄像头的情况,如果是前置摄像头,就跳出本次循环,进行下一次循环

if (facing != null && facing == CameraCharacteristics.LENS_FACING_FRONT) {

continue;

}

  • LENS_FACING_FRONT是前摄像头,

  • LENS_FACING_BACK是后摄像头,

  • LENS_FACING_EXTERNAL是 额外(双摄像头)。Android Camera2的使用记录

2.2.2、SCALER_STREAM_CONFIGURATION_MAP:

获取StreamConfigurationMap,它是管理摄像头支持的所有输出格式和尺寸。

最后

只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。

腾讯、字节跳动、阿里、百度等BAT大厂 2019-2021面试真题解析

资料太多,全部展示会影响篇幅,暂时就先列举这些部分截图

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
大厂 2019-2021面试真题解析**

[外链图片转存中…(img-SBJ13bvC-1714483213179)]

资料太多,全部展示会影响篇幅,暂时就先列举这些部分截图

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值