Android CameraX的基本使用

CameraX 是一个 Jetpack 支持库,旨在帮助您简化相机应用的开发工作。它提供一致且易用的 API 接口,适用于大多数 Android 设备,并可向后兼容至 Android 5.0(API 级别 21)。

虽然 CameraX 利用了 camera2 的功能,但采取了一种具有生命周期感知能力且基于用例的更简单方式。它还解决了设备兼容性问题,因此您无需在代码库中添加设备专属代码。这些功能减少了将相机功能添加到应用时需要编写的代码量。

最后,借助 CameraX,开发者只需两行代码就能实现与预安装的相机应用相同的相机体验和功能。CameraX Extensions 提供了一些可选的插件,让您可以在支持的设备上添加各种特效,这些特效包括焦外成像(人像)、HDR、夜间和脸部照片修复。

CameraX概览:
https://developer.android.com/training/camerax

官方文档:
https://developer.android.com/jetpack/androidx/releases/camera

CameraX 入门指南:
https://developers.google.com/codelabs/camerax-getting-started?hl=zh-cn#0

CameraX声明依赖项:

dependencies {
  // CameraX core library using the camera2 implementation
  def camerax_version = "1.0.2"
  // The following line is optional, as the core library is included indirectly by camera-camera2
  implementation "androidx.camera:camera-core:${camerax_version}"
  implementation "androidx.camera:camera-camera2:${camerax_version}"
  // If you want to additionally use the CameraX Lifecycle library
  implementation "androidx.camera:camera-lifecycle:${camerax_version}"
  // If you want to additionally use the CameraX View class
  implementation "androidx.camera:camera-view:1.0.0-alpha30"
  // If you want to additionally use the CameraX Extensions library
  implementation "androidx.camera:camera-extensions:1.0.0-alpha30"
}

示例教程:

https://blog.csdn.net/allisonchen/article/details/113483498

https://www.codeleading.com/article/98514715458/

Android 5.0 时期Camera接口便已弃用,所以一般的做法是使用其替代者Camera2接口。但随着CameraX的出现,这个选择变得不再唯一。

除了图像预览以外还有很多其他使用场景,比如图像拍摄,图像分析和视频录制。CameraX将这些使用场景统一抽象为UseCase,它有四个子类,分别为PreviewImageCaptureImageAnalysisVideoCapture

camerax的报错:解决 CameraX 报错:Must call CameraX.initialize() first

https://www.codeleading.com/article/85922964809/

你可能感兴趣的:(Jetpack,android,jetpack,camerax)