所以我现在对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/获得了这个功能,我也尝试了另一个地方的第二个功能,但相机并没有出现在任何一个地方。此外,我在里面插入了一些警报,但没有一个出现,所以我有点困惑。
有没有人有任何关于如何让相机出现的建议?
答案 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
});