在笔记本电脑上测试时使用MeteorCamera.getPicture()拍照时出错

时间:2014-10-03 15:43:57

标签: meteor meteor-plugin

我正在使用Meteor的mdg:相机插件为我的应用添加照片功能。目前,我没有设置任何PhoneGap设备,所以我正在我的笔记本电脑上进行测试。我以为我读过某个地方Meteor实现会掉线并在相机不可用时使用简单的文件对话框,但当我尝试在我的笔记本电脑上运行以下代码时:

var cameraOptions = {
    width: 800,
    height: 600
};

MeteorCamera.getPicture(cameraOptions, function (err, data) {
    if (err) {
        console.log(err);
        // TODO Need to handle the error
    } else {
        if (!this.photos) {
            this.photos = [];
        }

        this.photos.push({ submitted_by: Meteor.userId(), submitted_on: new Date(), photo_data: data});
    }
});

我收到错误:

Meteor.makeErrorType.errorClass {error: "unknownError", reason: "There was an error while accessing the camera.", details: undefined, message: "There was an error while accessing the camera. [unknownError]", errorType: "Meteor.Error"…}

我真的希望用户能够在使用笔记本电脑时通过相同的按钮上传照片。对于它的价值,我实际上有一个内置的相机,我正在使用15“MacBook Pro进行开发。

1 个答案:

答案 0 :(得分:2)

在浏览器客户端上,mdg:camera依靠navigator.getUserMedia尝试从网络摄像头获取视频流,但不允许用户上传照片。

https://github.com/meteor/mobile-packages/blob/master/packages/mdg:camera/photo-browser.js#L41

不幸的是,正如我们所说getUserMedia缺乏对Safari的支持,这可能是您在MacBook上使用的浏览器。

http://caniuse.com/#feat=stream

在Google Chrome或Firefox上试用您的应用程序。