3

我正在使用 Meteor 的 mdg:camera 插件为我的应用程序添加照片功能。目前,我没有设置任何 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。

4

1 回答 1

2

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

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

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

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

请改为在 Google Chrome 或 Firefox 上尝试您的应用程序。

于 2014-10-03T15:48:19.977 回答