我应该使用哪个 Android Camera API

Posted

技术标签:

【中文标题】我应该使用哪个 Android Camera API【英文标题】:Which Android Camera API should I use 【发布时间】:2019-10-23 09:44:18 【问题描述】:

我需要实现应用程序中的相机行为,用户可以在其中拍摄 QR 码的照片,然后我将使用 Google Play 服务 API 来处理和解码 QR 码。

所以我需要做的就是拍张照片。

此外,我知道要部署此应用的确切设备型号。目前是两个设备,最终可能是三个设备模型(所有 API 21+)。

根据我的阅读,开发 Jetpack CameraX API 是为了简化特定于设备的代码。

如果我的目标只是实现此要求的最简单的代码...我应该考虑使用 Camera API、Camera2 API 还是 CameraX API?

【问题讨论】:

您不需要播放服务来解码二维码。 There are offline options,其中一些为您集成了相机逻辑。除此之外,在您的三个选项中,尝试使用 CameraX,或尝试现有的相机库,如 Fotoapparat 或 CameraKit-android 通常情况下,“简单地拍一张照片”来照顾好二维码是不够的。 QR 库更喜欢将实时流从摄像头馈送到解码器,这样用户就无需单击“捕获”按钮。 【参考方案1】:

实际上 CameraX 只是 Camera2 API 的包装器。阅读following article

你的情况很简单,拍一张照片就可以搞定很多

二维码阅读器

库,但如果您仍想开发拍照功能并且您的设备已超过 21 岁,那么请选择 CameraX,因为它会非常频繁地更新,您不必担心不同设备中的不同行为,就像在 @987654322 中解释的那样@

【讨论】:

以上是关于我应该使用哪个 Android Camera API的主要内容,如果未能解决你的问题,请参考以下文章

在使用后台服务的情况下,android camera2预览表面

如果我为 android.hardware.camera2.full 添加 <uses-feature> 我应该删除 android.hardware.camera

Android:如何检查设备是不是实现了 Camera2 api 功能?

qcom Android Camera

android Camera 如何判断当前使用的摄像头是前置还是后置

Android Camera使用