как использовать плагин камеры Cordova 3.4 с платформой Android

Я хочу использовать плагин для камеры 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-й вариант, я могу использовать только этот вариант, но мне нужны оба, но я не знаю, как это сделать.


person SANSONAN    schedule 07.05.2014    source источник
comment
какая платформа.. android или ios??   -  person manukv    schedule 07.05.2014


Ответы (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)
person manukv    schedule 08.05.2014