第3讲 Camera2 API 概述 - Android Camera2 API

本讲是Android Camera专题系列的第3讲,我们介绍Android Camera2 API概述,了解Camera2 API的核心组件,以及他们如何交互来完成Camera各种流程。

视频在线观看:

加入知识星球与更多Camera同学交流

  • 星球名称:深入浅出Android Camera
  • 星球ID: 17296815

Camera2 API专题 - 课程组织安排

目标:详解Android官方文档

思路:以相机使用流程将各组件串联起来讲解

  • Android Camera2 Open/Close Camera流程

  • Android Camera2 创建Session流程

    • 预览组件:SurfaceView、GLSurfaceView、TextureView
    • 拍照组件:ImageReader
    • 录像组件:MediaRecorder、MediaCodec
  • Android Camera2 创建CaptureRequest流程

  • Android Camera2 预览(启动、停止)流程

  • Android Camera2 拍照流程

  • Android Camera2 录像流程

Android Camera2 API核心组件

Android Camera2 API核心组件

CameraManager

Android Camera2 API核心组件

Android Camera2 API核心组件

Android Camera2 API核心组件

CameraCharacteristics

Android Camera2 API核心组件

CameraDevice

Android Camera2 API核心组件

Android Camera2 API核心组件

Android Camera2 API核心组件

Android Camera2 API核心组件

SessionConfiguration

Android Camera2 API核心组件

CameraCaptureSession

Android Camera2 API核心组件

Android Camera2 API核心组件

Android Camera2 API核心组件

Android Camera2 API核心组件

Android Camera2 API核心组件

CaptureRequest

Android Camera2 API核心组件

CaptureResult

Android Camera2 API核心组件

Android Camera2 API核心组件

TotalCaptureResult

Android Camera2 API核心组件

参考文档

参考资料

答疑

课程配套文档下载

赞(3)
未经允许不得转载:极客笔记 » 第3讲 Camera2 API 概述

评论 2

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    老师,你好,getCameraIdList 返回的是 手机 摄像头的个数么?

    华为P20 PRO 有以下打印:
    (LogicalCamera: 0,PhysicalCameraIds:[2, 3, 4],has LOGICAL_MULTI_CAMERA capability:true)
    为什么打开ID0,和ID2 是打开的同一个摄像头?

    Battery2年前 (2021-08-03)回复
    • 1. 返回的是逻辑意义上可用的Camera个数,比如你提到的LogicalCamera: 0,实际对应到物理上有三颗camera: 2, 3, 4。 logical camera 0应该是用来做光学变焦的,它可能会同时打开某两颗camera。
      2. 为什么打开ID0,和ID2 是打开的同一个摄像头?
      ==> 有可能camera 2是广角镜头, camera 3是普通镜头, camera 4是长焦镜头,你打开ID 0时,此时根据zoom倍数可能选择的camera 3的画面, 再zoom变大或缩小就会是其他镜头的画面了。
      ==> ID2 可能直接mapping到物理camera 3的,所以(ID0和ID2)看上去是同一颗camera。

      admin2年前 (2021-08-03)回复
Android Camera2参考
Android Camera2参考概述
Android Camera2参数参考
Android Camera2参数参考概述
Android Camera2指南
Android Camera2指南概述
Android Camera HAL开发
Android Camera HAL开发概述
Android Camera2 API
第2讲 Android Camera 架构介绍第3讲 Camera2 API 概述第4讲 Open和Close Camera流程第5讲 GeekCamera2介绍第6讲 Open和Close Camera代码实现第7讲 Hardware Level详解第8讲 AVAILABLE_CAPABILITIES详解第9讲 StreamConfigurationMap详解一第10讲 StreamConfigurationMap详解二第11讲 StreamConfigurationMap实战一第12讲 StreamConfigurationMap实战二第13讲 为什么需要OutputConfiguration第14讲 OutputConfiguration API详解第15讲 Surface Sharing实战第16讲 Deferred Surface实战第17讲 Reprocessable Capture Session详解一第18讲 Reprocessable Capture Session详解二第19讲 App如何实现ZSL功能第20讲 SessionConfiguration详解第21讲 createCaptureSession详解第22讲 SessionParameter实战第23讲 CaptureRequest详解第24讲 如何操作VendorTag第25讲 获取Physical Camera数据流第26讲 CameraCaptureSession详解第27讲 CameraCaptureSession.CaptureCallback详解第28讲 GeekCamera2连拍实战第29讲 SlowMotion实战第30讲 CaptureResult详解第31讲 AE自动曝光 Part 1第32讲 AE自动曝光 Part 2第33讲 AE自动曝光实战第34讲 AE手动曝光第35讲 AE手动曝光实战第36讲 Flash闪光灯控制第37讲 拍照打闪实战第38讲 通过CropRegion控制Zoom缩放第39讲 通过ZoomRatio控制Zoom缩放第40讲 Digital Zoom缩放实战第41讲 Touch AE实战第42讲 AF自动对焦第43讲 AF自动对焦 第二部分第44讲 AF自动对焦实战第45讲 手动对焦实战第46讲 AWB自动白平衡第47讲 AWB自动白平衡实战第48讲 FD人脸检测第49讲 Android13 Camera2 New APIs介绍