什么是Android CameraX?

时间:2019-04-23 02:51:53

标签: android android-jetpack android-camerax

什么是Android CameraX?

Google I / O 2019计划召开一次有关CameraX的会议。这是什么?它是新的框架API吗?是新图书馆吗? https://events.google.com/io/schedule/events/8d400240-f31f-4ac2-bfab-f8347ef3ab3e

这是否意味着不赞成使用Camera2 API? https://github.com/googlesamples/android-Camera2Basic

3 个答案:

答案 0 :(得分:6)

什么是Android CameraX?

CameraX是一个新的Jetpack库,开发人员可以使用它来控制设备的摄像头,并专注于API级别21(Lollipop)之前的设备之间的兼容性。它是在Google I / O 2019上宣布的,并有一个专用的文档页面以及一个官方示例。

这是否意味着不建议使用Camera2 API?

不推荐使用Camera2 API;实际上,这是CameraX构建的基础。 CameraX还提供了Camera2互操作API,开发人员可以使用Camera2代码扩展其CameraX实现。

有关更多信息,请参见https://developer.android.com/camerax

答案 1 :(得分:0)

您可以检查official doc

  

CameraX是Android Jetpack的补充,可让您更轻松地将摄像头功能添加到您的应用中。该库提供了许多兼容性修补程序和解决方法,以帮助使开发人员在许多设备上的体验保持一致。

您可以使用cameraX通过称为用例的抽象来与设备的相机接口。以下是当前可用的用例:

  • 预览:准备预览SurfaceTexture
  • 图像分析::为分析(例如机器学习)提供了CPU可访问的缓冲区
  • 图像捕获:捕获并保存照片

用例可以同时合并和活动。

只需添加依赖项:

dependencies {
  // CameraX core library
  def camerax_version = "1.0.0-alpha01"
  implementation "androidx.camera:camera-core:$camerax_version"
  // If you want to use Camera2 extensions
  implementation "androidx.camera:camera-camera2:$camerax_version"
}

有关如何使用CameraX库check here的信息。

答案 2 :(得分:0)

Google IO 2019 中,Google作为Jetpack的一部分,为Android开发中的相机开发添加了另一个强大的工具CameraX

CameraX的一些功能

  • 向后兼容,直到Android 5.0 / Lollipop(API 21)和 它可以与市场上至少90%的设备配合使用。
  • 在后台,它使用并利用Camera 2 API。它 基本上,通过Camera 2提供与Camera 1 API相同的一致性 旧版层,它解决了整个设备上的许多问题。
  • 它还具有很多很棒的高级功能,例如人像,HDR, 夜间模式等(如果您的设备支持)。
  • CameraX还引入了一些用例,使您可以专注于 完成任务所需的任务,而不会浪费时间在特定设备上。其中很少有预览,图像分析和图像捕获。
  • CameraX在onResume()和中没有特定的调用/停止方法 onPause(),但它借助以下功能绑定到View的生命周期 CameraX.bindToLifecycle()
  • 以下是CameraX修复的一些已知问题的列表,

enter image description here

使用CameraX还能做什么

  • 您还可以使用 CameraX
  • 创建Video Recorder App
  • 添加多个扩展程序,例如 Portrait Mode,HDR 等。
  • 我们还可以使用图像分析来执行计算机视觉(ML)。所以 实现分析器方法以在每个帧上运行。

要了解有关CameraX的更多信息,请参考here

Getting Started with CameraX