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

Android Camera 架构介绍

 2010-03-18 16:22:00 来源:WEB开发网   
核心提示:virtual sp getPreviewHeap() const = 0;virtual status_t startPreview(preview_callback cb, void* user) = 0;virtual void stopPreview() = 0;virtual status_t autoFoc

virtual sp getPreviewHeap() const = 0;

virtual status_t startPreview(preview_callback cb, void* user) = 0;

virtual void stopPreview() = 0;

virtual status_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& params) = 0;

virtual CameraParameters getParameters() const = 0;

virtual void release() = 0;

virtual status_t dump(int fd, const Vector& args) const = 0;

};

使用C语言的方式导出符号:

extern "C" sp openCameraHardware();

在程序的其他地方,使用openCameraHardware()就可以得到一个 CameraHardwareInterface,然后调用 CameraHardwareInterface的接口完成Camera的功能。

具体功能在下层调用硬件相关的接口来实现。

第三部分 Camera的主要实现分析

3.1 JAVA程序部分

在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.Camera

public class Camera extends Activity implements View.OnClickListener, SurfaceHolder.Callback { android.hardware.Camera mCameraDevice;

}

对Camera功能的一些调用如下所示:

mCameraDevice.takePicture(mShutterCallback, mRawPictureCallback, mJpegPictureCallback);

mCameraDevice.startPreview();

mCameraDevice.stopPreview();

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

Tags:Android Camera 架构

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