camera2 应用

从android 5.0之后,原来camera的接口开始弃用,新增了camera2 API,新的接口使用起来更加困难。正好这段时间也在自学camera hal V3.3的flow,为了跟上时代,虽然目前只需要负责 camera hal V1.1,但保不准什么时候就会切到V3.3。

V1.x和V3.x在Framework 和hal层的区别:

我觉得最大的区别就是数据流的架构,变化很大,V1.x中,Framework层很简单,不会管理数据流,只是做简单的传递,因为都没有起任何线程,但到了V3.x,很多在hal层处理的工作被挪到了Framework层,一个简单的例子,比如preview,在V1.x是hal层的一个线程将camera 数据送给surfaceflinger显示,但是在V3.x是Framework层中的一个线程将camera数据送给surfaceflinger显示。

如果不做camera Framework 和hal层的开发和维护工作,可以不用了解这些,所以我们还是重点来了解开放给应用层的API。比如如何实现camera 的预览,拍照和录制这三个功能,可以参考共享在github网站上的代码,这只是我个人的一种封装(架构)了,仅供参考。代码中还有很多没有完善的地方,比如:

(1) 运行时权限的检测和申请

(2) 其他相关的功能,比如拍照模式,放大缩小画面等功能

(3) 很多操作都没有加锁,需要考虑多线程情况

(4) error handle,一些操作失败后,没有对用的处理机制

(5)...


代码共享:https://github.com/harsand/camerademo

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值