GoogleCamera代码流程分析之相机切换
来源:互联网 发布:淘宝nike鸳鸯球鞋 编辑:程序博客网 时间:2024/06/06 13:56
最近一直在看GoogleCamera的代码,虽然是googleCamera公司自己的camera,没有经过MTK进行二次封装,感觉看起来应该简单一点,事实上,一点也不简单。由于GoogleCamera在相机的预览、拍照录像方面均使用了Camera API2的接口,不熟悉这个接口使用的开发人员可能连开始预览的接口都找不到(还是习惯了使用Camera API1)。
本编博客主要介绍一下GoogleCamera的camera切换流程!
首先看一下相关的类之间的关系:
googleCamera的相机切换具体的实现实在具体的相机的module中,在这里以CaptureModule为例,在CaptureModule中实现了ButtonCallBack这个接口,在这个接口的实现中,开始相机的切换动作!!
在googleCamera中有太多的类都继承类SafeCloseable这个接口,googleCamera中的camera的关闭都是通过AndroidCameraDeviceProxy这个类完成。
相机的切换流程大致可以分为:
同步相机UI—->关闭当前camera—->打开指定的camera—->刷新相机UI
时序图如下所示:
相机的切换流程还是很简单的,主要是通过使用一个CameraId这个类,这个类可以适配Camera API1和Camera API2的接口,在API1的时候会返回一个整数,在API2的时候会返回一个字符串,其实就是代表一个传入到framework层的id。
有兴趣的可以自己去看一下googleCamera的源码,这些东西都是在网上可以搜索到的,我就不再详细叙述了,有兴趣的朋友可以关注我一下,有什么问题大家可以相互讨论!!
- GoogleCamera代码流程分析之相机切换
- Android 4.4相机代码分析
- 相机切换
- Sensor 代码流程分析
- Sensor 代码流程分析
- Unreal 代码流程分析
- 代码流程分析
- openRTSP 代码流程分析
- Sensor 代码流程分析
- H5 调用android原生相机代码分析
- 海康相机RTSP连接代码分析
- 海康相机RTSP连接代码分析
- openstack之neutron代码分析---(1)neutron初始化流程
- 进程切换的代码分析
- Linux任务切换过程流程分析
- RxJava线程切换流程分析_observeOn
- android高级技术之相机的前后摄像头切换
- USB代码分析和学习心得之初始化流程以及读写流程
- python爬虫带走邮件
- Windriver驱动发布
- iOS 开发 APP 如何节省电量
- 控制浏览器滚动条不成功的解决方法
- 使用DHT11制作一个Arduino温度数据记录仪
- GoogleCamera代码流程分析之相机切换
- json在项目中的应用大总结
- vue2.0购物车和地址选配实例,附演示地址
- poj2185 Milking Grid(两次KMP)
- muyou -- 线程
- runtime error program:c:\windows\explorer.exe (安装win8安全更新补丁后出现) 为什么?
- linux中的SUID和SBIT 权限
- 单调队列——Feel Good(良好的感觉)
- 快速幂与快速矩阵幂(以大数下的斐波那契数列为例)