科尔多瓦拍照

时间:2015-01-31 05:56:00

标签: javascript cordova

所以我现在对cordova很新,现在,我正在使用它制作一个应用程序,我试图拍照然后保存它。现在,我无法拍照。我只有一个按钮,在相应的javascript文件中,按下按钮时会调用一个函数。我开始运行&#cord;插件添加org.apache.cordova.camera'。这就是我试过的:

document.addEventListener('deviceready', onDeviceReady);

function onDeviceReady() {

    $('#picture').on('click',function() {
            takePicture();
    }

    function takePicture() {

        if (!navigator.camera) {
            alert("Camera API not supported", "Error");
            return;
        }

        navigator.camera.getPicture(function(imageURI) {
            alert("test");
        }, function(err) {
            alert("Inside err");
        }, cameraOption);

        /*navigator.camera.getPicture(function(imagePath) {
            alert("test");  
            document.getElementByID("photoImg").setAttribute("src", imagePath);
            alert("Got picture");
        }, function() {
            alert("Photo canceled");
        },  {
            destinationType: navigator.camera.DestinatonType.FILE_URI
        });*/


    }
}

我从http://learn.ionicframework.com/formulas/cordova-camera/获得了这个功能,我也尝试了另一个地方的第二个功能,但相机并没有出现在任何一个地方。此外,我在里面插入了一些警报,但没有一个出现,所以我有点困惑。

有没有人有任何关于如何让相机出现的建议?

1 个答案:

答案 0 :(得分:1)

首先确保您在文档就绪回调中调用代码,所以:

$(document).ready(function () {
    $('#picture').on('click',function() {
        takePicture();
    }
});

您没有显示相机选项,这里有一些适用于我的代码。

function onSuccess(imageURI) {
    // This will show the photo in an <img> element with id="photo"
    jQuery('#photo').attr('src', imageURI).show();
    // Do more stuff here
}

var folder = true; // set to false to take with camera, true to select from library
navigator.camera.getPicture(onSuccess, onFail, {
    quality: 25, // 25%
     // takes a photo that will fit precisely within an iPhone 6 Plus screen
    targetWidth: 1080,
    targetHeight: 960,
    destinationType: Camera.DestinationType.FILE_URI,
    sourceType: folder ? Camera.PictureSourceType.PHOTOLIBRARY : Camera.PictureSourceType.CAMERA
});