2017-05-29 76 views
0

目前我已經在我的WebRTC應用如下:的Node.js /的WebRTC:的WebRTC適配器不處理mediaDevice.getUserMedia

require('webrtc-adapter'); 
module.exports.getUserMedia = navigator.getUserMedia; 

navigator.getUserMedia給我的控制檯棄用警告。

現在使用module.exports.getUserMedia = navigator.mediaDevices.getUserMedia;結果如下錯誤:

TypeError: 'getUserMedia' called on an object that does not implement interface MediaDevices.

任何想法,爲什麼webrt適配器沒有在這一點上需要照顧的呢?

回答

0

不得不寫我自己的包裝爲getUserMedia

module.exports.getUserMedia = function(constraints, success, error){ 
    if(_.isObject(navigator.mediaDevices) && _.isFunction(navigator.mediaDevices.getUserMedia)){ 
     navigator.mediaDevices.getUserMedia(constraints).then((stream)=>{ 
      success(stream); 
     }).catch((err)=>{ 
      error(err); 
     }) 
    } else if(_.isFunction(navigator.getUserMedia)){ 
     navigator.getUserMedia(constraints, success, error); 
    } else { 
     error(new Error('Failed to request media permissions!')); 
    } 
}