2011-08-31 3 views
4

J'essaie de développer une application Android qui devrait prendre des images continues tout comme l'appareil photo natif en mode de prise de vue en continu pendant 10 à 20 secondes.Comment capturer l'image continue dans Android

J'ai suivi le programme d'échantillonnage à partir du site

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

Maintenant, je veux améliorer ce code pour prendre des images en continu (pendant 10 à 20 secondes), premier j'ai essayé de prendre 10 photos par en utilisant une boucle for, je viens de mettre la fonction takePicture() dans la boucle, mais cela ne fonctionne pas.

Dois-je utiliser des threads? Si oui, quelle partie dois-je mettre en fil, la capture d'image ou de l'image à l'enregistrement carte SD

Si tout organisme ayant un exemple de code pour prendre des images en continu, pls partager.

+0

duplication possible de [Capture de plusieurs photos] (http://stackoverflow.com/questions/5336890/capturing-multiple-photos) –

Répondre

2

Mettez simplement un compteur dans la fonction jpegCallBack, qui décrémente et appelle à nouveau takePicture() jusqu'à ce que le nombre d'images souhaité soit atteint.

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 
     } 
    } 
2

Je sais qu'il est très tard pour répondre, mais je suis tombé sur cette question et je pensais que ce serait utile pour les futurs visiteurs.

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 
    } 
}; 
Questions connexes