返回
无需 SDK 的多摄像头安卓开发,轻装上阵!
Android
2023-11-01 15:21:15
在安卓中,开发多摄像头应用,您还能别出心裁!
无论何种智能手机、摄像机或环境,相机就是我们如何与他人、世界互动的一个窗口。多摄像头可带来更好的摄影功能,它就像一双额外的眼睛,能给你自由,方便地以各种风格或角度去发现和捕捉世界。这也就是说,你拥有了全新的创意设计空间。
我们很高兴地宣布,安卓 正式支持多摄像头,已成为我们的全部兼容设备中现成的API。它支持同时访问多个摄像头,实现独立或组合的使用,从而进行广角、远距离变焦、立体影像等摄影。从设备生产的出厂日期到各个型号的上市日期,我们都全程监管,严抓每一刻,确保每一台你手机都能够拥有它。
多摄像头软件栈主要由:
- 硬件抽象层 (HAL) 模块 - 提供原始设备制造商与安卓相机框架之间的接口。
- 相机框架 - 提供拍摄模式及高级功能,它们已融合到安卓系统中。
- 相机服务 - 这是个可选组件,它能够提供额外的控制及效果,如降噪、人像模式等。
- 基于安卓框架构建的相机应用程序。
如果你对多摄像头API感兴趣,我们建议先从我们的Camera2 API指南开始学习,有了它,你才能快速入门安卓相机框架,深入了解它的各个组件:包括预览、拍照、录制视频、设置曝光和焦点、控制自动对焦等。我们将在后续的博客中仔细探讨多摄像头API的更多细节。同时,你也可以在安卓开发者网站上查阅最新示例和指南。
现在就着手探索多摄像头开发的精彩世界吧,突破传统边界的你,还等什么,立即行动起来吧。
多摄像头API独有魅力何在?
除了兼容性强、支持各种设备外,它还有很多特点让你随时拥有多摄像头安卓开发的超强体验:
- 统一的API:HAL兼容Camera1和Camera2框架。
- 硬件的统一性:由于相机硬件已进行过抽象,这意味着你只需将主要的应用程序代码编写一次,就可以编译和打包成兼容Camera1和Camera2框架的安卓应用,然后在支持任意API的设备中部署。
- 对多摄像头应用的丰富支持:该API不仅可以提供多摄像头支持,还使你能够在应用程序中使用多个摄像头同时拍摄。
- 对各种3A算法的支持:HAL也支持自动曝光、自动对焦和自动白平衡(3A)算法,这些算法可提升各摄像头传感器的图像质量。
以下是多摄像头API在安卓设备上的运行步骤:
- 相机框架会向HAL发送捕获请求。捕获请求包括以下内容:要拍摄的照片或视频分辨率、使用的摄像头、所需的焦点模式、曝光控制等。
- HAL将拍摄任务交给Camera硬件并执行以下任务:
- 根据所需的拍摄格式,打开摄像头传感器。
- 调整摄像头模块的摄像头校准。
- 3A算法初始化。
- 摄像头传感器开始对场景取景。
- 当图像帧准备就绪时,摄像头传感器会通知HAL,然后HAL会将图像帧交给摄像头框架。
- 相机框架会调用应用程序的回调函数,处理图像帧。
现在就开始吧
多摄像头API的开源实现,已发布在安卓开放源码项目(AOSP)中,现在就动手尝试吧!我们始终欢迎你给我们反馈、提出建议或加入我们,共同建设多摄像头开发社区。
我们渴望看到您用多摄像头API创造的精彩作品。
相关主题
致谢
非常感谢来自合作伙伴开发者团队中的 Vinit Modi、Android Camera PM 和 Emilie Roberts 的帮助。