使用Ionic/AngularJS和Cordova的原生和Web应用程序相机

Kai*_*i23 9 javascript angularjs cordova ionic-framework

我正在尝试使用相机,我想知道你是否有任何关于如何使它在web/native上工作的例子.

我有这段代码,借用了ng-cordova doc:

    $scope.takePicture = function() {
        var options = {
            quality: 75,
            destinationType: Camera.DestinationType.DATA_URL,
            sourceType: Camera.PictureSourceType.CAMERA,
            allowEdit: true,
            encodingType: Camera.EncodingType.JPEG,
            targetWidth: 100,
            targetHeight: 100,
            popoverOptions: CameraPopoverOptions,
            saveToPhotoAlbum: false
        };

        $cordovaCamera.getPicture(options).then(function(imageData) {
            // Success! Image data is here
        }, function(err) {
            // An error occured. Show a message to the user
        });
    }
Run Code Online (Sandbox Code Playgroud)

当我使用它时,它适用于我的设备,但在Web版本中发现错误

ReferenceError: Camera is not defined
Run Code Online (Sandbox Code Playgroud)

这就是为什么我问你是否有任何好的方法来做到这一点.我可以模拟隐藏输入的点击,但看起来不漂亮.如果你有任何想法:)

Cla*_*ish 4

您可以为 Cordova 和标准浏览器提供相机访问的实现。标准浏览器实现可以使用它来实现

http://www.html5rocks.com/en/tutorials/getusermedia/intro/

W3草案

要检查您是在应用程序中还是在浏览器中运行,您可以使用

ionic.Platform.platform()
Run Code Online (Sandbox Code Playgroud)

记录在这里