2014-10-03 74 views
3

我正在使用Meteor的mdg:照相機插件爲我的應用添加照片功能。目前,我沒有任何PhoneGap設備設置,所以我正在測試我的筆記本電腦。我想我讀的地方,流星實施將回落和使用簡單文件對話框時相機是不可用的,但是當我嘗試在我的筆記本電腦運行下面的代碼:在筆記本上測試時使用MeteorCamera.getPicture()拍攝照片時出現錯誤

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。

回答

2

在瀏覽器客戶端上,mdg:camera使用navigator.getUserMedia嘗試獲取視頻流網絡攝像頭,因爲我們講getUserMedia它不允許用戶上傳照片。

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

遺憾的是缺乏關於Safari瀏覽器,這可能是您使用的是一臺MacBook工作的瀏覽器的支持。

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

請在Google Chrome或Firefox上嘗試您的應用程序。

+0

我實際上使用的是Chrome。 Safari是魔鬼。任何提示讓它工作?我知道我的攝像頭指示燈已熄滅,所以也許是因爲我以某種方式禁用了它? – CodeChimp 2014-10-03 15:50:42

+1

在Chrome瀏覽器地址欄的最右側,你應該看到一個攝像頭圖標,如果它被禁用,它將被劃掉紅色,點擊它來更改權限,如果一切正常,你應該被提示用戶許可在執行對'getUserMedia'的調用時訪問攝像頭。 – saimeunt 2014-10-03 15:52:48

+0

天才!謝謝! – CodeChimp 2014-10-03 15:58:32

相關問題