【问题标题】:Cordova camera plugin not launching cameraCordova 相机插件未启动相机
【发布时间】:2015-11-20 11:23:50
【问题描述】:

我创建了一个 Ionic 应用程序,我需要相机功能,以便用户可以拍照并将其发送到网络服务。我关注了 Ionic 的 following guide

基本上你只需 cd 进入你的应用程序

cd myApp

然后你跑

cordova plugin add org.apache.cordova.camera

一旦安装了插件,您就可以在应用程序中的任何位置调用它的功能(因为根据 Cordova,navigator.camera 是一个全局对象)。在我的情况下,我只是在我的一个控制器中执行此操作,在使用 ng-click 单击按钮后调用以下函数:

$scope.takePhoto = function() {

      navigator.camera.getPicture(function(imageURI) {

        // imageURI is the URL of the image that we can use for
        // an <img> element or backgroundImage.

      }, function(err) {

        // Ruh-roh, something bad happened


      }, cameraOptions);

    }

但它什么也没做......现在我已经按照 Ionic 所说的我必须对“T”做的事情,仅此而已。还有什么我应该做的吗?也许正在编辑config.xml?值得一提的是,这是我第一次尝试使用任何类型的 Cordova 插件。

【问题讨论】:

  • 好的,问题是“cameraOptions”为空。您要么必须定义一些相机选项,要么完全忽略该参数。
  • 以下代码完美运行

标签: cordova camera phonegap-plugins ionic cordova-plugins


【解决方案1】:

我刚刚使用下面的代码解决了这个问题,

$scope.takePhoto = function() {
    navigator.camera.getPicture(onSuccess, onFail, {
        quality: 75,
        targetWidth: 320,
        targetHeight: 320,
        destinationType: 0
    });
   function onSuccess(imageData) {
         alert('onSuccess');
         console.log("data:image/jpeg;base64,"+imageData);
    }

    function onFail(message) {
        alert('Failed because: ' + message);
    }
};

imageData 是您捕获的图像的源代码

【讨论】:

  • 非常感谢 Muhsin,您的代码将有效,因为您实际上提供了相机选项。我的失败是因为我的“cameraOptions”为空。或者,您可以完全取消这些相机选项,它仍然可以工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-09
  • 1970-01-01
  • 1970-01-01
  • 2016-09-21
  • 2016-02-17
  • 1970-01-01
相关资源
最近更新 更多