如何使用Cordova Camera Plugin拍摄多张照片

时间:2015-05-07 01:10:55

标签: android cordova camera phonegap-build

我一直在Android上测试,我的目标是使用Cordova相机或Media Capture拍摄多张照片,并将它们保存到一个可以自动更正/修正方向的图库中。后退按钮与Media Capture一起取消了拍照会话,但似乎保存了照片而没有更正的方向。如果我使用相机插件拍照,我会得到我需要的照片,但我一次只能拍一张照片。有没有办法将navigator.camera.getPicture包装到一个循环中,该循环将拍摄照片,直到应用取消/返回按钮。似乎该功能是异步的,无论采用何种方法,我都无法使其工作。

如果我使用文件管理器手动将媒体捕获插件保存的文件复制到图库或同一文件夹中,方向得到纠正,那会有什么奇怪的。

更新:我通过调用函数在成功事件中再次拍照来解决它。

function takePicture(){

navigator.camera.getPicture( cameraSuccess, cameraError, {
        quality: 50,
        destinationType: Camera.DestinationType.FILE_URI,
        correctOrientation: true,
        saveToPhotoAlbum: true
    }); 

}

function cameraSuccess(uri){   
    //alert(uri);
    takePicture();    
}

function cameraError(message){
    alert("Canceled!"); 
}

$('#ThumbnailTest_buttonTakePhotosNow').click(function(){
    takePicture();
});

1 个答案:

答案 0 :(得分:0)

OP在Question中提到了解决方案,所以我认为最好将其添加为Answer:

您可以通过在成功事件中调用函数再次拍照来实现此目的。

function takePicture(){

navigator.camera.getPicture( cameraSuccess, cameraError, {
        quality: 50,
        destinationType: Camera.DestinationType.FILE_URI,
        correctOrientation: true,
        saveToPhotoAlbum: true
    }); 

}

function cameraSuccess(uri){   
    //alert(uri);
    takePicture();    
}

function cameraError(message){
    alert("Canceled!"); 
}

$('#ThumbnailTest_buttonTakePhotosNow').click(function(){
    takePicture();
});