ImageVerifierCode 换一换
格式:DOC , 页数:13 ,大小:44.50KB ,
资源ID:789153    下载:注册后免费下载
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenkunet.com/d-789153.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(江西省社会保险基金监管软件系统 .doc)为本站会员(瓦拉西瓦)主动上传,文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文库网(发送邮件至13560552955@163.com或直接QQ联系客服),我们立即给予删除!

江西省社会保险基金监管软件系统 .doc

1、p virtual void errorCallback(status_t error); virtual void autoFocusCallback(bool focused);/从接口中可以看出 Camera 类刚好实现了一个 Camera 的基本操作,例如播放(startPreview) 、停止(stopPreview) 、 暂停(takePicture)等。在 Camera 类中connect()是一个静态函数,它用于得到一个 Camera 的实例。在这个类中,具有设置回调 函数的几个函数:setShutterCallback、setRawCallback 和 setJpegCall

2、back 等,这几个函数是为了提供给上层 使用,上层利用这几个设置回调函数,这些回调函数在相应的回调函数中调用,例如使用 setShutterCallback 设置的回调函数指针被 shutterCallback 所调用。在定义中,ICameraClient 类双继承了 IInterface 和 IBinder: DeathRecipient,并定义了一个 Camera 客户端的接口,BnCameraClient 继承了BnInterface,这是为基于 Android 的基础类 Binder 机制实现在进程通讯而构建的。 事实上,根据 BnInterface 类模版的定义 BnInterfa

3、ce类相当于双继承了 BnInterface 和 ICameraClient。这是 Android 一种常用的定义方式。继承了 DeathNotifier 类之后,这样当这个类作为 IBinder 使用的时候,当这个Binder 即将 Died 的时候被调用其中的 binderDied 函数。继承这个类基本上实现了一个回调函数的功能。头文件 ICamera.hICamera.h 描述的内容是一个实现 Camera 功能的接口,其定义如下所示:class ICamera: public IInterface public: DECLARE_META_INTERFACE(Camera); virt

4、ual void disconnect() = 0; virtual status_t setPreviewDisplay(const sp virtual void setHasFrameCallback(bool installed) = 0; virtual status_t startPreview() = 0; virtual void stopPreview() = 0; virtual status_t autoFocus() = 0; virtual status_t takePicture() = 0; virtual status_t setParameters(const

5、 String8 virtual String8 getParameters() const = 0; ; class BnCamera: public BnInterface public: virtual status_t onTransact( uint32_t code, const Parcel ;ICamera.h 描述的内容是一个实现 Camera 功能的接口,其定义如下所示:在 camera 类中,主要定义 Camera 的功能接口,这个类必须被继承才能够使用。值得注意的是,这些接口和 Camera 类的接口有些类似,但是它们并没有直接的关系。事实上,在 Camera 类的各种

6、实现中,一般都会通过调用 ICamera 类的实现类来完成。头文件 ICameraService .hICameraService.h 用于描述一个 Camera 的服务,定义方式如下所示:class ICameraService : public IInterface public: DECLARE_META_INTERFACE(CameraService); virtual sp connect(const sp ; class BnCameraService: public BnInterface public: virtual status_t onTransact( uint32_t

7、 code, const Parcel ;由于具有纯虚函数, ICameraService 以及 BnCameraService 必须被继承实现才能够使用,在 ICameraService 只定义了一个 connect()接口,它的返回值的类型是sp,这个 ICamera 是提供实现功能的接口。注意,ICameraService 只有连接函数 connect(),没有断开函数,断开的功能由 ICamera 接口来提供。头文件 CameraHardwareInterface.hCameraHardwareInterface.h 定义的是一个 Camera 底层的接口,这个类的实现者是最终实现 C

8、amera 的。CameraHardwareInterface 定以 Camera 硬件的接口,如下所示:class CameraHardwareInterface : public virtual RefBase public: virtual CameraHardwareInterface() virtual sp getPreviewHeap() const = 0; virtual status_t startPreview(preview_callback cb, void* user) = 0; virtual void stopPreview() = 0; virtual sta

9、tus_t autoFocus(autofocus_callback, void* user) = 0; virtual status_t takePicture(shutter_callback, raw_callback, jpeg_callback, void* user) = 0; virtual status_t cancelPicture(bool cancel_shutter, bool cancel_raw, bool cancel_jpeg) = 0; virtual status_t setParameters(const CameraParameters virtual

10、CameraParameters getParameters() const = 0; virtual void release() = 0; virtual status_t dump(int fd, const Vector ;使用 C 语言的方式导出符号:extern “C“ sp openCameraHardware();在程序的其他地方,使用 openCameraHardware()就可以得到一个 CameraHardwareInterface,然后调用 CameraHardwareInterface 的接口完成 Camera的功能。1.3 Camera 的主要实现分析JAVA 程序

11、部分在 packages/apps/Camera/src/com/android/camera/目录的 Camera.java 文件中,包含了对 Camera 的调用在 Camera.java 中包含对包的引用:import android.hardware.Camera.PictureCallback; import android.hardware.Camera.Size;在这里定义的 Camera 类继承了活动 Activity 类,在它的内部,包含了一个 android.hardware.Camerapublic class Camera extends Activity implem

12、ents View.OnClickListener, SurfaceHolder.Callback android.hardware.Camera mCameraDevice;对 Camera 功能的一些调用如下所示:mCameraDevice.takePicture(mShutterCallback, mRawPictureCallback, mJpegPictureCallback);mCameraDevice.startPreview();mCameraDevice.stopPreview();startPreview、stopPreview 和 takePicture 等接口就是通过

13、JAVA 本地调用(JNI)来实现的。frameworks/base/core/java/android/hardware/目录中的 Camera.java 文件提供了一个JAVA 类: Camera。public class Camera 在这个类当中,大部分代码使用 JNI 调用下层得到,例如:public void setParameters(Parameters params) Log.e(TAG, “setParameters()“);/params.dump();native_setParameters(params.flatten();再者,例如以下代码:public final

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报