第20讲 Android Camera2 API SessionConfiguration详解

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

  • 为什么要引入SessionConfiguration
  • SessionConfiguration简介

  • SessionConfiguration APIs概述

  • Session Parameter简介

视频在线观看:

  •  极客笔记:极客笔记在线课程

为什么要引入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概述

第20讲 Android Camera2 API SessionConfiguration详解_第1张图片

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没用好会发生什么?

第20讲 Android Camera2 API SessionConfiguration详解_第2张图片

你可能感兴趣的:(Android,Camera2,API详解,android,自动驾驶,python)