第3讲 Android Camera2 API 概述

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

视频在线观看:

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

Camera2 API专题 – 课程组织安排

目标:详解Android官方文档

  • https://developer.android.google.cn/reference/android/hardware/camera2/package-summary

  • https://developer.android.google.cn/reference/android/hardware/camera2/params/package-summary – GeekCamera2 App专题介绍

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

  • 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核心组件

参考文档

参考资料

  • https://developer.android.google.cn/reference/android/hardware/camera2/package-summary

  • https://developer.android.google.cn/reference/android/hardware/camera2/params/package-summary

答疑

  • https://deepinout.com/android-camera-official-documentation/android-camera2-api/android-camera-architecture-intro.html

课程配套文档下载

  • git clone https://e.coding.net/deepinout/camera/android_camera_docs.git
赞(2)
未经允许不得转载:极客笔记 » 第3讲 Android Camera2 API 概述
分享到: 更多 (0)

评论 2

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

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

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

    Battery3个月前 (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。

      admin3个月前 (08-03)回复

Android Camera2 API