本讲是Android Camera专题系列的第22讲,我们介绍Android Camera2 API专题的Session Parameter实战,包括如下内容:
- 如何避免re-configure session
视频在线观看:
加入知识星球与更多Camera同学交流
- 星球名称:深入浅出Android Camera
- 星球ID: 17296815
如何避免re-configure session
对App而言(创建Session时带上Session Parameter)
-
获取Available Session Keys
-
如果Session Keys不为Null,创建Session时将这些Session Keys进行赋值,并尽量保持Session使用过程中不去更改
对HAL而言
-
防止三方App发生re-configuration
-
使用Vendor Tag来定义Session Parameter,不要在默认的CaptureRequest里面带Session Keys
Camera App使用Session Parameter
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
mSessionConfiguration = new SessionConfiguration(
is_video_high_speed ?
SessionConfiguration.SESSION_HIGH_SPEED : SessionConfiguration.SESSION_REGULAR,
outputConfigurations,
new CameraTestUtils.HandlerExecutor(mCameraBackgroundHandler),
myStateCallback
);
if (inputConfiguration != null) {
mSessionConfiguration.setInputConfiguration(inputConfiguration);
}
mSessionConfiguration.setSessionParameters(mPreviewBuilder.build());
mCameraDevice.createCaptureSession(mSessionConfiguration);
}