Camera2 API——CameraCaptureSession

一、概述

CameraDevice的已配置捕获会话,用于从相机捕获图像或重新处理之前在同一会话中从相机捕获的图像。

CameraCaptureSession是通过向android.hardware.camerra2.CameraDevice#createCaptureSession提供一组目标输出表面或提供android.hard ware.camera2.params.InputConfiguration和一组目标输出表面,用于为可重新处理的捕获会话createReprocessableCaptureSession。创建后,会话处于活动状态,直到相机设备创建新会话或关闭相机设备。

所有捕获会话均可用于从相机捕获图像,但只有可重新处理的捕获会话才能重新处理之前在同一会话中从相机捕获的图像。

创建会话是一项昂贵的操作,可能需要几百毫秒,因为它需要配置相机设备的内部管道并分配内存缓冲区,以便将图像发送到所需的目标。因此,设置是异步完成的,android.human.chamera2.CameraDevice#createCaptureSession和createReprocessableCaptureSession将把准备使用的CameraCaptureSession发送到提供的监听器的onConfigured回调。如果配置无法完成,则调用onConfigureFailed,会话将不会处于活动状态。

如果相机设备创建了新会话,则关闭前一个会话,并调用其关联的onClosed回调。如果在会话关闭后调用,所有会话方法都将抛出IllegalStateException。

关闭的会话会清除所有重复的请求(就像调用了stopRepeating一样),但在新创建的会话接管并重新配置相机设备之前,它仍将正常完成所有正在进行的捕获请求。

二、API

1、内部类

内部类
abstract

CaptureCallback

一个回调对象,用于跟踪提交到相机设备的CaptureRequest的进度。
abstract

StateCallback

一个回调对象,用于接收有关相机捕获会话状态的更新。

2、构造方法

CameraCaptureSession()

3、public方法

abstract fun abortCaptures(): Unit

未完待续。。。

参考文章

CameraCaptureSession  |  Android Developers

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闲暇部落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值