WEB开发网
开发学院手机开发Android 开发 android Camera模块分析 阅读

android Camera模块分析

 2010-09-27 01:57:00 来源:WEB开发网   
核心提示:JAVA Application调用native_setup在CameraService中创建了一个Camera客户端,客户端通过getCameraService取得 CameraSevice中的IBinder对象,android Camera模块分析(2),为JAVA Application 与CamerServic

JAVA Application调用native_setup在CameraService中创建了一个Camera客户端,客户端通过getCameraService取得 CameraSevice中的IBinder对象,为JAVA Application 与CamerService之间建立了一个接口ICameraService,通过这个接口我们调用BpCameraService::connect 实际上通过前面取得的IBinder对象将调用CameraService::onTransact函数在这个函数中再调用 BnCameraSrvice::onTransact至此JAVA Application与CameraService之间的消息管道建立完毕。

上图中,Camera.jar Camera.cpp,ICamera, ICameraService的对象都属于java application process,当两个object之间的通信建立完毕,java application通过ICamera接口向CameraService中Camera Client发送消息。

在Native层,不同进程间两个对象需要传递消息需要继承IBinder接口,如果一个对象只需要发起连接可以继承IBinder的扩展接口BpInterface,如果需要接受连接请求可以继承BnInterface接口,比如在ICamera.cpp中有两个接口BpCamera与BnCamera,BpCamera用于发送消息,BnCamera由CameraService继承,最近消息响应通过BnCamera调用CameraService::client对象处理消息。

AudioRecord,AudioFinger,MediaPlayer其底层接口实现方式与Camera类似。

上一页  1 2 

Tags:android Camera 模块

编辑录入:coldstar [复制链接] [打 印]
赞助商链接