安卓 CameraX 是什么?

14

https://www.reddit.com/r/androiddev/comments/b6ec74/camerax_support_library_confirmed_in_the_google/ - Tim
3个回答

18

什么是Android CameraX?

CameraX是一个新的Jetpack库,它使开发人员能够控制设备的相机,并着重于兼容性,支持追溯到API级别21(Lollipop)。它在2019年的Google I/O大会上宣布,并配有专门的文档页面和官方示例。

这是否意味着Camera2 API已经被弃用?

Camera2 API并没有被弃用;事实上,它是CameraX构建的基础。CameraX还提供了一个Camera2交互API,让开发人员可以使用Camera2代码扩展他们的CameraX实现。

更多信息,请参阅官方文档:https://developer.android.com/camerax


FYI:对于CameraX:CameraX库处于alpha阶段,因为其API表面尚未最终确定。我们不建议在生产中使用Alpha库。库应严格避免在生产中依赖Alpha库,因为它们的API表面可能以源和二进制不兼容的方式发生变化。https://developer.android.com/training/camerax - LiuWenbin_NO.
3
你说过"CameraX也提供了Camera2的Interop API",我已经寻找了几个小时,希望你能提供一个相关文档的链接吗?请问可以吗? - Maxime Esprit

8
Google IO 2019 中,Google 添加了一个名为 CameraX 的工具,作为 Jetpack 的一部分,用于 Android 开发中的摄像头开发。 CameraX 的几个特点:
  • 它向后兼容到 Android 5.0 / Lollipop(API 21),并且与市场上至少90%的设备兼容。
  • 在内部,它使用和利用 Camera 2 API。 它基本上通过相机2的遗留层提供与相机1 API 相同的一致性,并解决了跨设备的许多问题。
  • 它还具有许多令人惊叹的高级功能,例如人像模式、HDR、夜间模式等(前提是您的设备支持这些功能)。
  • CameraX 还引入了用例,允许您专注于您需要完成的任务,而不会浪费时间处理特定的设备。 其中一些是预览、图像分析、图像捕获。
  • CameraX 在 onResume() and onPause() 中没有特定的调用/停止方法,但是通过 CameraX.bindToLifecycle() 方法绑定到 View 的生命周期。
  • 以下是使用 CameraX 解决的已知问题列表:

enter image description here

您可以使用 CameraX 做更多的事情:
  • 您还可以使用 CameraX 创建视频录制应用程序。
  • 添加多个扩展,如 人像模式、HDR 等。
  • 我们还可以使用图像分析进行计算机视觉和机器学习。 因此,它实现了 Analyzer 方法,以在每个帧上运行。

要了解有关 CameraX 的更多信息,请参阅此处

获取有关 CameraX 的起步信息,请参见此处


0

您可以查看官方文档

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 库,请在此处查看


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接