如何在Android中捕获连续图像

时间:2011-08-31 12:05:10

标签: android-camera

我正在尝试开发一个Android应用程序,它应该像连续拍摄模式中的原生相机一样拍摄连续图像10到20秒。

我关注了网站上的示例程序

http://marakana.com/forums/android/examples/39.html

现在,我想增强此代码以拍摄连续图像(10到20秒), 首先我尝试使用for循环拍摄10张照片,  我只是把takePicture()函数放在循环中,但那不起作用。

我需要使用threadS吗? 如果是,那么我应该将哪个部分放入线程中,将图像捕获或图像保存到 SD卡

如果任何身体有一些用于拍摄连续图像的示例代码,请分享。

2 个答案:

答案 0 :(得分:2)

只需在jpegCallBack函数中放置一个计数器,该函数会再次递减并调用takePicture(),直到达到所需数量的图片。

int pictureCounter = 10;

PictureCallback jpegCallback = new PictureCallback() {

    @Override
    public void onPictureTaken(byte[] data, Camera camera) {
            // save your picture
        if(--pictureCounter>=0) {
            takePicture();
        } else {
            pictureCounter = 10; // reset the counter
        }
    }

答案 1 :(得分:2)

我知道回复已经很晚了,但我刚刚遇到这个问题,并认为这对未来的访问者会有所帮助。

PictureCallback jpegCallback = new PictureCallback() {
    public void onPictureTaken(byte[] data, Camera camera) {
     //Save Picture here

       preview.camera.stopPreview();

       // if condition 
             preview.camera.startPreview();
       // end if condition
  }
};