我正在使用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进行开发。
答案 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上试用您的应用程序。