CameraX 1.3 Beta 版发布 | 为 Android 应用带来更强大的相机功能

    CameraX 1.3 Beta版为Android开发者带来了双并发摄像头功能,允许同时操作两个摄像头。此外,新增HDR视频支持,包括10位视频流和多种HDR配置文件,提升视频质量。开发者还可以利用特效方法添加自定义GPU特效到Preview、ImageCapture和VideoCapture中。

    摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    8eb7463837e40a28330b4e0c5ffbb33c.png

    作者 / Donovan McMurray,Camera Developer Relations Engineer

    CameraX 是 Android Jetpack 的相机库,可帮助您为不同的 Android 版本和设备打造一致的出色体验,随着 CameraX 1.3 版本的推出,这个库的实用性也更上一层楼。CameraX 已用于越来越多的 Android 应用中,拥有非常广泛的应用场景,包括简单高效的相机交互、高级图像处理等等。

    • CameraX

      https://developer.android.google.cn/training/camerax

    • Android Jetpack

      https://developer.android.google.cn/jetpack

    CameraX 1.3 提供更多高级功能。借助双并发摄像头功能,应用可以同时操控两个摄像头。此外,CameraX 1.3 提供一些新的 HDR 视频功能,让用户可以轻松拍出满意的作品。现在,您还可添加图形库转换效果 (例如使用 OpenGL 或 Vulkan) 到 Preview、ImageCapture 和 VideoCapture 用例中,以便采用滤镜和特效。此外,还有许多视频方面的功能改进等您发掘。

    • OpenGL
      https://www.opengl.org/

    • Vulkan
      https://www.vulkan.org/

    CameraX 1.3 Beta 版已正式推出,让我们即刻了解详情吧!

    02d3255e092c1c759c0da700abf7a539.png

    双并发摄像头

    CameraX 让复杂的相机功能轻松易用,新的双并发摄像头功能也不例外。CameraX 会处理低层级细节工作,例如确保以正确的顺序打开和关闭并发摄像头视频串流。在 CameraX 中,绑定双并发摄像头与绑定单个摄像头并无太大差别。

    首先,使用 getAvailableConcurrentCameraInfos() 确定哪些相机支持并发连接。常见情形是选择前置摄像头和后置摄像头。

    • getAvailableConcurrentCameraInfos()

      https://developer.android.google.cn/reference/androidx/camera/lifecycle/ProcessCameraProvider#getAvailableConcurrentCameraInfos%28%29

    1. var primaryCameraSelector: CameraSelector? = null
    2. var secondaryCameraSelector: CameraSelector? = null
    3. for (cameraInfos in cameraProvider.availableConcurrentCameraInfos) {
    4. primaryCameraSelector = cameraInfos.first {
    5. it.lensFacing == CameraSelector.LENS_FACING_FRONT
    6. }.cameraSelector
    7. secondaryCameraSelector = cameraInfos.first {
    8. it.lensFacing == CameraSelector.LENS_FACING_BACK
    9. }.cameraSelector
    10. if (primaryCameraSelector == null || secondaryCameraSelector == null) {
    11. // If either a primary or secondary selector wasn't found, reset both
    12. // to move on to the next list of CameraInfos.
    13. primaryCameraSelector = null
    14. secondaryCameraSelector = null
    15. } else {
    16. // If both primary and secondary camera selectors were found, we can
    17. // conclude the search.
    18. break
    19. }
    20. }
    21. if (primaryCameraSelector == null || secondaryCameraSelector == null) {
    22. // Front and back concurrent camera not available. Handle accordingly.
    23. }

    然后,为每个摄像头创建一个 SingleCameraConfig,依次传入各摄像头选择器、UseCaseGroup 和 Life

    登录后您可以享受以下权益:

    ×
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值

    举报

    选择你想要举报的内容(必选)
    • 内容涉黄
    • 政治相关
    • 内容抄袭
    • 涉嫌广告
    • 内容侵权
    • 侮辱谩骂
    • 样式问题
    • 其他
    点击体验
    DeepSeekR1满血版
    程序员都在用的中文IT技术交流社区

    程序员都在用的中文IT技术交流社区

    专业的中文 IT 技术社区,与千万技术人共成长

    专业的中文 IT 技术社区,与千万技术人共成长

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    客服 返回顶部