如何使用Cordova相机插件拍摄多张照片

8
我一直在Android上进行测试,我的目标是使用Cordova相机或媒体捕获来拍摄多张照片,并将它们保存到一个能自动校正/修复方向的图库中。当与Media Capture结合使用时,返回按钮会取消拍照会话,但似乎保存的照片没有被修正方向。如果使用Camera插件拍照,我可以得到所需的照片,但只能一次拍摄一张照片。是否有办法将navigator.camera.getPicture封装成循环,以便拍摄照片直到取消/返回按钮被应用?函数似乎是异步的,无论采用何种方法,都无法使其工作。
奇怪的是,如果我使用文件管理器手动将由media capture插件保存的文件复制到图库或同一文件夹中,方向就被纠正了。
更新:我通过在成功事件中调用一个再次拍照的函数解决了这个问题。
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();
});

尝试使用这些插件:http://plugins.cordova.io/#/package/com.synconset.imagepickerhttp://plugins.cordova.io/#/package/com.synconset.imagepickerex - Milan V.
1个回答

1

OP在问题中提到了解决方案,因此我认为最好将其添加为答案:

您可以在成功事件中调用一个函数来再次拍照。

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();
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接