如何使用相机插件cordova 3.4与平台android

时间:2014-05-07 03:00:30

标签: android cordova cordova-plugins

我想使用相机插件cordova 3.4。我需要两个选择。首先它可以用相机拍照,然后我可以在库中选择照片。

这是我只使用相机的代码

  function Photo(id, data, format) {
        this.id = id;
        this.data = data;
        this.format = format || "png";
        this.name = function() {
            var date = new Date();
            return "" + date.getTime() + "_" + this.id + "." + this.format;
        };
    }

    SiteCamera = {
        dataWithMimeType: function(data) {
            return 'data:image/png;base64,' + data;
        },
        takePhoto: function(idField, updated) {
            SiteCamera.id = idField;
            SiteCamera.updated = updated;

            navigator.camera.getPicture(SiteCamera.onSuccess, SiteCamera.onFail, {
                quality: 50,
                destinationType: Camera.DestinationType.DATA_URL,
                sourceType : Camera.PictureSourceType.CAMERA,
                encodingType: Camera.EncodingType.JPEG
            });
        },
        onSuccess: function(imageData) {
            var imageId = SiteCamera.updated ? "update_" + SiteCamera.id : SiteCamera.id;
            var image = document.getElementById(imageId);
            var photo = new Photo(SiteCamera.id, imageData);
            image.src = SiteCamera.dataWithMimeType(imageData);
            PhotoList.add(photo);
        },
        onFail: function() {
            alert("Failed");
        }
    };

谁可以帮助我,我想要的功能可以让我使用相机选项或在库中选择照片。我向所有人展示的代码只是选择了。如果我使用第一个选项我只能使用此选项,但我需要两个但我不知道该怎么做。

1 个答案:

答案 0 :(得分:1)

 var destinationType = navigator.camera.DestinationType;
 var source = navigator.camera.PictureSourceType.PHOTOLIBRARY;

 navigator.camera.getPicture(function (imageURI) { 


                                   /*Success callback*/


                             }, 
                             function (e) { 

                                   /*Fail callback*/

                             }, 
                             {
                              quality: 100,
                              destinationType: destinationType.FILE_URI,
                              sourceType: source
                              });

您可以从相机,照片库和相册中获取图片,只需更改来源类型即可。

 source = navigator.camera.PictureSourceType.PHOTOLIBRARY; //From PhotoLibrary
 source = navigator.camera.PictureSourceType.SAVEDPHOTOALBUM; //From Album
 source = navigator.camera.PictureSourceType.CAMERA; //From Camera(Default)