第20讲 Android Camera2 API SessionConfiguration详解

本讲是Android Camera专题系列的第20讲,我们介绍Android Camera2 API专题的SessionConfiguration详解,包括如下四部分内容:

  • 为什么要引入SessionConfiguration

  • SessionConfiguration简介

  • SessionConfiguration APIs概述

  • Session Parameter简介

视频在线观看:

加入知识星球与更多Camera同学交流
– 星球名称:深入浅出Android Camera
– 星球ID: 17296815

为什么要引入SessionConfiguration

创建Session的API越来越多

  1. createCaptureSession(List outputs, callback, Handler handler)

  2. createCaptureSessionByOutputConfigurations(List outputConfigurations, callback, Handler handler)

  3. createConstrainedHighSpeedCaptureSession(List outputs, callback, Handler handler)

  4. createReprocessableCaptureSession(InputConfiguration inputConfig, List outputs, callback, Handler handler)

  5. createReprocessableCaptureSessionByConfigurations(InputConfiguration inputConfig, List outputs,, Handler handler)

但还是无法满足需求,API28想在创建Session时能够带一包参数下去,也就是设置Session Parameter

需要一个API一统江湖

  • createCaptureSession(SessionConfiguration config)

SessionConfiguration简介



SessionConfiguration是一个聚合类,将用于创建Camera Capture Session的参数都聚合在一个对象中,这些参数包括

  1. Session Type(对应HAL的Operation Mode)
    • 创建Regular Session还是High Speed Session
  2. Session State Callback

  3. Session Callback Executor(Handler)

  4. 输出流配置信息(OutputConfiguration)

  5. 输入流配置信息(InputConfiguration)

  6. Session Parameters

SessionConfiguration APIs概述

SessionConfiguration APIs概述

Session Parameter简介

Session Parameter

  • 本质是什么?
    • Session Parameter本质上是一个不带Surface的CaptureRequest
  • 为什么要引入?
    • 只靠Stream的size、format和Operation Mode还不足以决定Session的创建,比如FPS Range会决定Sensor走哪种mode
  • 如何知道Session Parameter中能设置哪些Metadata
    • Cameracharacteristics#getAvailableSessionKeys

Session Parameter没用好会发生什么?

Session Parameter没用好会发生什么?

赞(2)
未经允许不得转载:极客笔记 » 第20讲 Android Camera2 API SessionConfiguration详解
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

Android Camera2 API