Android Camera2,setPhysicalCameraKey使用

setPhysicalCameraKey使用场景:Camera应用多摄同开,分别给对应cameraId下不同的参数
(比如AE,AF,OIS等参数);

android包位置:android.hardware.camera2.CaptureRequest.Builder
framework源码位置:sys\frameworks\base\core\java\android\hardware\camera2\CaptureRequest.java

流程:
1,创建CaptureRequest.Builder对象以便调用setPhysicalCameraKey方法:
createCaptureRequest(@RequestTemplate int templateType, Set physicalCameraIdSet),
templateType:根据预览/拍照/录像,需求传对应值。
physicalCameraIdSet:保存物理cameraId的set集合,可以将CameraCharacteristics.getPhysicalCameraIds()得到的参数传进去。

2,确认setPhysicalCameraKey能使用的key:
调用CameraCharacteristics.getAvailablePhysicalCameraRequestKeys()可以获取到List<CaptureRequest.Key>多摄流程中物理CameraId能下发参数到hal底层的list集合,
这list里面参数是底层配置的静态参数,只能生效int32请求。

3,调用setPhysicalCameraKey(@NonNull Key key, T value, @NonNull String physicalCameraId)方法,将对应的参数设置给CaptureRequest.Builder:
key:一定要是getAvailablePhysicalCameraRequestKeys里支持的key。
value:一定要是int32值。
physicalCameraId:一定要是physicalCameraIdSet里的cameraId。

4,调用CameraCaptureSession.setRepeatingBurst或setRepeatingRequest方法通知底层更新预览生效下发的key参数;CameraCaptureSession.captureBurst或capture方法通知底层拍照生效下发的key参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值