Android Camera 架构介绍
2010-03-18 16:22:00 来源:WEB开发网virtual void rawCallback(const sp
virtual void jpegCallback(const sp
virtual void frameCallback(const sp
virtual void errorCallback(status_t error);
virtual void autoFocusCallback(bool focused);
//……
}
从接口中可以看出Camera类刚好实现了一个 Camera的基本操作,例如播放(startPreview)、停止(stopPreview)、暂停(takePicture)等。在Camera类中connect()是一个静态函数,它用于得到一个Camera的实例。在这个类中,具有设置回调函数的几个函数:setShutterCallback、setRawCallback和setJpegCallback等,这几个函数是为了提供给上层使用,上层利用这几个设置回调函数,这些回调函数在相应的回调函数中调用,例如使用setShutterCallback设置的回调函数指针被 shutterCallback所调用。
在定义中,Camera类双继承了 BnCameraClient和IBinder:: DeathRecipient,,BnCameraClient
继承了BnInterface
继承了DeathNotifier类之后,这样当这个类作为IBinder使用的时候,当这个Binder即将Died的时候被调用其中的binderDied函数。继承这个类基本上实现了一个回调函数的功能。
2.4 头文件ICamera.h
ICamera.h描述的内容是一个实现Camera功能的接口,其定义如下所示:
class ICamera: public IInterface
{
public:
DECLARE_META_INTERFACE(Camera);
virtual 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;
更多精彩
赞助商链接