Node.js/WebRTC: webrtc-adapter 不处理 mediaDevice.getUserMedia
Node.js/WebRTC: webrtc-adapter does not handle mediaDevice.getUserMedia
目前我的 WebRTC 应用程序中有以下内容:
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-adapter 此时不处理它吗?
不得不为 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!'));
}
}
目前我的 WebRTC 应用程序中有以下内容:
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-adapter 此时不处理它吗?
不得不为 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!'));
}
}