• 腾讯视频链接

    https://v.qq.com/x/page/m08905yyh0l.html

  • Bilibili 视频链接

    https://www.bilibili.com/video/av56992944/

人们的生活正在被更及时、更多彩地记录与分享,智能手机的摄像头甚至能帮助用户深入解读他们眼前的世界,为他们实时提供翻译等帮助。但您也许不知道,超过 70% 的摄像头使用来自各位开发者们开发的应用,而不是系统原生的摄像头功能。用户们需要更加个性、更具有扩展性的体验,但这也意味着开发者们需要付出极大的心力测试与打磨摄像头功能。

去年在中国 GDD (谷歌开发者日) 上我们和很多摄像头应用开发者了解他们的测试工作量,得知为了确保兼容性、响应速度等体验细节,他们甚至会手动在数百种不同设备上进行测试。

CameraX 正是为解决这个痛点而来。它是 Jetpack 内的一套摄像头开发支持库,旨在帮助开发者轻松打造高品质的摄像头体验。其核心功能包括:

  • 简单易用的生命周期感知 (lifecycle-aware) API,且相比较 camera2 减少了大量模板代码的使用

  • 兼容至 Android L (API 21),从而确保同样的代码能在市面上 90% 的设备中运行

  • 在支持的设备上,可以让开发者通过扩展的形式使用和原生摄像头应用同样的功能 (包括人像、夜间模式,HDR 以及美颜滤镜)

但想要确保如此广泛的设备覆盖面并非易事,于是我们打造了自动化的 CameraX 测试实验室,在其中对摄像头功能进行深度测试。另外还使用了 Mobile Harness 对通用摄像头功能进行测试。

  • 深度测试包含 50 个 OEM 厂商设备,覆盖约 2 亿日活设备

  • 在 Mobile Harness 上测试超过 500 种设备,包括 NBU/Android Go 设备。(NBU = Next Billion Users)

△ CameraX 测试实验室包含 50 个 OEM 厂商设备,覆盖约 2 亿日活设备,自动化执行摄像头功能深度测试

对开发者来说,简单易用的 API、更少的模板代码和强大的兼容性,意味着更高的开发和测试效率。而丰富的扩展性则意味着开发者可以为用户们带来更多基于摄像头的精彩体验。我们之前介绍过的 Camera360 开发团队就已经抢先体验过 CameraX 带来的强大与便捷:

我们密切关注着最新的技术和 API 进展,CameraX 是我们获取摄像头 API 的桥梁,让我们的核心摄像头代码行数减少了三分之二,极大地提升了新产品研发的效率。

—— 李涛,成都品果科技技术总监

△ 在 I/O'19 上用 Camera360 现场演示

CameraX 核心功能

我们看到,Camera360 在一台运行着 Android 6.0 Marshmallow 的设备上即可流畅运行,而且使用到了 CameraX 的三个核心场景: 实时预览、图像分析与拍照。而在开发中,Camera360 也得以减少在设备上的测试量,并且相比较使用 Camera2 时代码行数大幅减少 (约 70%),这也让 Camera360 的 APK 尺寸得以减小。

—— Vinit Modi, Product Manager, Android Camera Platform Team

在今年的 I/O 开发者大会上,Vinit Modi 也单独用了一整场演讲来详细介绍 CameraX,有兴趣的朋友可以观看完整视频:

  • Android Jetpack:了解摄像头支持库 CameraX

    https://www.youtube.com/watch?v=kuv8uK-5CLY

觉得视频太长的话,我们也综合 CameraX 的诞生历程为您整理了一份摘要:

  • CameraX 基于 20 多个开发团队提供的痛点和需求进行开发。在该支持库诞生之初就已经有数个 Android 顶级开发团队 (包括 Snapchat, Twitter 以及 TikTok 等) 表示会在自己的应用中使用。

  • 相比较 iOS,CameraX 有几个 “第一”:

    • 第一个实现静态 HDR 照片拍摄 (在 iOS 上,开发者需要自行生成 HDR 图片)

    • 第一个实现夜间模式下的静态照片拍摄

△ 通过 CameraX,Android 开发现在就可以轻松实现夜间拍照功能。图中使用设备是三星 S10+

  • 在针对入门设备开发的 Google Go 中,其摄像头功能也使用了 CameraX,用来识别摄像头中的文字等内容。在开发速度、兼容性表现优异的同时,APK 的尺寸也十分小巧 (摄像头部分小于 30KB)。

  • 三星也已经在三月份宣布不再支持其私有摄像头 SDK,转而使用 CameraX。(甚至已经在 AOSP 中贡献了代码!)

  • 在 I/O 大会的现场就有 4 个 CameraX 的演示体验,提前感受到其魅力的开发者们纷纷给出好评。

△ YouCam Perfect 支持人像模式和 HDR

更便捷迅速的开发,更广泛的兼容性,以及高度可扩展的强大功能,我们希望开发者们亲自体验 CameraX,并在其中融入自己的创意与技术,为用户们带来更多彩的影像体验。

 点击屏末 |  | 查看更多开发者成功案例

推荐阅读

  • 用最新技术不断完善影像世界 | Android 开发者故事

  • “夜视” (Night Sight) 模式: Pixel 手机可在夜间视物

  • Android Q Beta 4 来啦!公开 API 也已定稿!


摄像头功能开发不再复杂,CameraX 助您轻松打造光影体验相关推荐

  1. 自媒体人必备的4个素材网站,助你轻松打造爆款

    素材对于我们创作来说就是救命稻草,也是灵感的主要来源,所以前期素材的搜集还是非常的重要,这也直接能够决定整体作品呈现效果. 很多自媒体人一般找素材都会去微博.知乎等,但是小编今天想说的是其实最好的素材 ...

  2. Android学习之高德地图的通用功能开发步骤(二)

    周一又来了,我就接着上次的开发步骤(一)来吧,继续把高德地图的相关简单功能分享一下 上次写到了第六步,接着写第七步吧. 第七步:定位 + 地图选点 + 路径规划 + 实时导航 以下是我的这个功能Nav ...

  3. ssm中怎么用location.href跳到controller层_聊聊自动驾驶中的功能开发

    在知乎上看过不少大牛写的自动驾驶技术介绍文章,大多谈到的是AI, Deep Learning, Computer Vision等等感知(Perception)层面的.但在各个传感器(雷达.摄像头.激光 ...

  4. SAP UI5 应用开发教程之七十九 - 采用测试驱动开发理念(Test Driven Development)进行 SAP UI5 应用的功能开发(一)的试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  5. 从零开始安卓端相机功能开发(一)了解用什么去开发以及流程

    目前已有章节大家可以去学习也可以参考一下 1.从零开始安卓端相机功能开发(一)了解用什么去开发以及流程 2.从零开始安卓端相机功能开发(二)让我们来开发一个相机 3.从零开始开发Android相机ap ...

  6. iOS 开发 : 14个技巧助你适配 iOS10

    iOS 开发 : 14个技巧助你适配 iOS10 1.Notification(通知) 自从 Notification 被引入之后,苹果就不断的更新优化,但这些更新优化只是小打小闹,直至现在iOS 1 ...

  7. 大华摄像头java开发之抓图

    大华摄像头java开发之抓图 继上一个海康的项目之后,这个月开始了大华网络摄像头的二次开发,在写正式的内容之前先容我吐槽一下: 首先就是从官网下载的Demo,里面只有C写的,让我一个java开发怎么看 ...

  8. H7-TOOL多功能开发工具/开源/烧录器/示波器/仿真器/逻辑分析仪

    H7-TOOL的最终目标: 1.为单片机工程师提供一款实用的多功能开发调试工具. 2.相信很多人有带板子回家调试.或带板子出差调试的情况.因为产品问题是无法预知的,多半情况不可能带齐全套测试工具的.经 ...

  9. 免开发智能扫地机器人 | 助您解放双手打造清洁舒适的家居生活

    作为一种新兴的智能家电产品,扫地机器人受到越来越多的关注,助力于更好的家居清洁.随着扫地机器人功能的完善,APP远程智能控制逐渐成为必备功能,以满足人们快节奏生活下的家居清洁需要.通过APP的定时预约 ...

最新文章

  1. 布朗大学研究者提出面向下一代脑机接口系统
  2. pyqt Qlabel显示opencv 自适应大小
  3. 互联网日报 | 美团市值突破万亿港元;北京恢复二级响应;滴滴货运23日上线;微信开放MCN入驻...
  4. 做mysql服务器 需要什么配置最好_支持大型数据库的服务器需要什么配置
  5. JSON 和 JS 对象互转
  6. 使用Java进行RS232C端口的开发
  7. Java3:数组和字符串
  8. 基于VUE + Echarts 实现可视化数据大屏智慧校园可视化
  9. Python - 【珍藏】知识清单及文章链接
  10. 百度脑图DesktopNaotu
  11. qt4.8.5在arm下的移植
  12. 免费ofd在线转PDF
  13. python将图片按照文件名分类,并移入相应文件夹
  14. linux动态链接库全局变量共享问题DLL共享数据段
  15. 开发框架——横版格斗——动作游戏教程
  16. 最大化 LoRa 长距离,您应该知道的完整秘籍
  17. Python基础之:Python的数据结构
  18. 【RFID_paper】Action Sensing
  19. git拉取代码报错:Unable to negotiate with xxx port xxx: no matching host key type found
  20. 专业老师讲解CAD分解图形的步骤

热门文章

  1. 公司企业邮箱登录,如何登录企业邮箱?邮箱账号安全模式
  2. python卡路里计算器_VB高手进,求一个简单计算器的VB代码
  3. series选取值_EXCEL中SERIES的用法
  4. 哈尔滨理工大学第七届程序设计竞赛初赛(高年级组)F 苦逼的单身狗【DP】
  5. idea中使用JUnit单元测试
  6. 端口号被占用如何解决?两步解决
  7. echarts饼图提示文字标签重叠怎么处理
  8. python中csv文件添加数据标签_Python对csv格式文件进行数据分析
  9. python海龟画图线条变粗_这个python海龟绘图为什么出错?
  10. 7代CPU升级win11提示此版本的Windows不支持该处理器