电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

第七章_Android_Camera架构

第七章_Android_Camera架构_第1页
1/9
第七章_Android_Camera架构_第2页
2/9
第七章_Android_Camera架构_第3页
3/9
第七章 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(); public native final void stopPreview(); android.hardw are.camera 类的JNI...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

第七章_Android_Camera架构

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部