WEB开发网
开发学院手机开发Android 开发 Android Camera 架构介绍 阅读

Android Camera 架构介绍

 2010-03-18 16:22:00 来源:WEB开发网   
核心提示:{public:virtual status_t onTransact( uint32_t code,const Parcel& data,Parcel* reply,uint32_t flags = 0);};在定义中,ICameraClient 类继承IInterface,Android Camera 架构介绍(

{

public:

virtual status_t onTransact( uint32_t code,

const Parcel& data,

Parcel* reply,

uint32_t flags = 0);

};

在定义中,ICameraClient 类继承IInterface,并定义了一个Camera客户端的接口,BnCameraClient 继承了BnInterface,这是为基于Android的基础类Binder机制实现在进程通讯而构建的。根据BnInterface类模版的定义BnInterface类相当于双继承了BnInterface和 ICameraClient。

IcameraClient这个类的主要接口是几个回调函数shutterCallback、 rawCallback和jpegCallback等,它们在相应动作发生的时候被调用。作为Camera的“客户端”,需要自己实现几个回调函数,让服务器程序去“间接地”调用它们。

2.3 头文件Camera.h

Camera.h是Camera对外的接口头文件,它被实现Camera JNI的文件android_hardware_Camera.cpp所调用。Camera.h最主要是定义了一个Camera类:

class Camera : public BnCameraClient, public IBinder:: DeathRecipient

{

public:

static sp connect();

~Camera();

void disconnect();

status_t getStatus() { return mStatus; }

status_t setPreviewDisplay(const sp& surface);

status_t startPreview();

void stopPreview();

status_t autoFocus();

status_t takePicture();

status_t setParameters(const String8& params);

String8 getParameters() const;

void setShutterCallback(shutter_callback cb, void *cookie);

void setRawCallback(frame_callback cb, void *cookie);

void setJpegCallback(frame_callback cb, void *cookie);

void setFrameCallback(frame_callback cb, void *cookie);

void setErrorCallback(error_callback cb, void *cookie);

void setAutoFocusCallback(autofocus_callback cb, void *cookie);

// ICameraClient interface

virtual void shutterCallback();

上一页  1 2 3 4 5 6 7 8  下一页

Tags:Android Camera 架构

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