Camera和Camera2的应用

本文介绍了Android中的Camera2 API,该API在Android 5.0中引入,以替代旧的Camera API。Camera2提供了更高级的功能,如30fps全高清连拍、手动设置、RAW格式拍摄、零快门延迟和电影快照等。文章详细讲解了Camera2的五个主要组成部分:CameraManager、CameraDevice、CameraCaptureSession、CaptureRequest和CaptureResult,并展示了控制流程图。同时,文中还讨论了在实际开发中可能遇到的问题,如拍照后预览卡住和闪光灯自动关闭,并给出了相应的解决策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

android.hardware.camera2是在android5.0引入的用去取代android.hardware.Camera的API

Camera: Android摄像头硬件的相机类,位于硬件包”android.hardware.Camera”下。它主要用于摄像头捕获图片、启动/停止预览图片、拍照、获取视频帧等,它是设备本地的服务,负责管理设备上的摄像头硬件。

camera2的好处在于:

  • 支持30fps(帧/秒)的全高清连拍

  • 支持帧之间的手动设置

  • 支持RAW格式的图片拍摄

  • 支持零快门延迟和电影快照

  • 支持设置其他手动相机设备控制,包括噪音消除水平

camera2的基本使用被分成了5个部分:
CameraManager:摄像头管理器,用于检测摄像头,打开系统摄像头
CamereDevice: 代表和安卓设备相连的单个相机(类似于Camera中的camera)
CameraCaptureSession:
CaptureRequest:提交给CameraDevice的拍摄请求
CaptureResult:CameraDevice返回的拍摄数据

camera2的控制流程图
这里写图片描述
camera2的实现步骤:

camera开发中出现的问题:

  • 部分机子拍照完后预览画面卡住了:
    部分机子,当点击拍照完成一张照片的拍摄后,后面就停止不动了。出现这种现象是因为在拍照的时候,Camera会停止Preview,拍照完成后,有的机子可以恢复回来重新Preview,有的则不会。因此只需在拍照完成后,手动调用一次Camera的startPreview()方法即可。

  • 部分机子拍照后闪光灯自动关闭:
    部分机子,在闪光灯开启的状态下,点击拍照按钮,闪光灯关闭了。目前没有找到原因,只能在模块中加了特殊处理。针对当前有此问题的手机,拍照完后主动再去开关一次闪光灯,这样拍照完成后,闪光灯还是可以亮着。只是在拍照的过程中,会出现闪光灯闪烁的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值