我正在尝试开发一个Android应用程序,它应该像连续拍摄模式中的原生相机一样拍摄连续图像10到20秒。
我关注了网站上的示例程序
http://marakana.com/forums/android/examples/39.html
现在,我想增强此代码以拍摄连续图像(10到20秒), 首先我尝试使用for循环拍摄10张照片, 我只是把takePicture()函数放在循环中,但那不起作用。
我需要使用threadS吗? 如果是,那么我应该将哪个部分放入线程中,将图像捕获或图像保存到 SD卡
如果任何身体有一些用于拍摄连续图像的示例代码,请分享。
答案 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
}
};