没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
9页
Android Camera框架从整体上看是一个client/service的架构,有两个进程:一个是client进程,可以看成是AP端,主要包括JAVA 代码与一些native c/c++代码;另一个是service 进程,属于服务端,是native c/c++代码,主要负责和linux kernel中的camera driver交互,搜集linux kernel中camera driver传上来的数据,并交给显示系统(surface)显示。client进程与service进程通过Binder 机制通信,client端通过调用service端的接口实现各个具体的功能。
资源推荐
资源详情
资源评论
第七章 Android Camera 框架
7.1 总体介绍
Android Camera 框架从整体上看是一个 client/service 的架构,有两个进程:一个是 client 进
程,可以看成是 AP 端,主要包括 JAVA 代码与一些 native c/c++代码;另一个是 service 进
程,属于服务端,是 native c/c++代码,主要负责和 linux kernel 中的 camera driver 交互,搜
集 linux kernel 中 camera driver 传上来的数据,并交给显示系统(surface)显示。client 进程与
service 进程通过 Binder 机制通信,client 端通过调用 service 端的接口实现各个具体的功能。
需要注意的是真正的 preview 数据不会通过 Binder IPC 机制从 service 端复制到 client 端,但
会通过回调函数与消息的机制将 preview 数据 buffer 的地址传到 client 端,最终可在 JAVA AP
中操作处理这个 preview 数据。
7.2 client 端
从 JAVA AP 的角度看 camera ap 就是调用 FrameWork 层的 android.hardware.camera 类来实现
具体的功能。JAVA Ap 最终被打包成 APK。
FrameWork 层主要提供了 android.hardware.camera 类给应用层使用,这个类也是 JAVA 代码
实现。Android.hardware.camera 类 通 过 JNI 调用 native 代 码 实 现 具 体 的 功 能 。
Android.hardware.camera 类中提供了如下的一个参数类给应用层使用:
public class Parameters {
// Parameter keys to communicate with the camera driver。
private static final String KEY_PREVIEW_SIZE = "preview-size";
private static final String KEY_PREVIEW_FORMAT = "preview-format";
……
}
参数会以字典(map)的方式组织存储起来,关键字就是 Parameters 类中的这些静态字符
串。这些参数最终会以形如“preview-size=640X480;preview-format=yuv422sp;„„”格式的
字符串传到 service 端。源代码位于: framework/base/core/java/android/hardware/camera.java
提供的接口示例:
获得一个 android.hardware.camera 类的实例
public static Camera open() {
return new Camera();
}
接口直接调用 native 代码(android_hardware_camera.cpp 中的代码)
public native final void startPreview();
资源评论
- struggleklaudlit2014-02-27很好的入门级资料 赞!
- lsqdata2012-04-10该资料给人清楚的感觉,只是有一点:全文中没有提及回调的过程。
- liggway2013-01-22还好,主要是讲了框架,对具体的流程及代码实现没讲
- bindu20052013-02-05对结构描述的很清晰,很好的入门级材料
jbbi2011
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功