我们正在使用 JavaScript 使用 Screen Capture API(getDisplayMedia) 实现与音频共享屏幕。为了获得请求的屏幕,我们在 getDisplayMedia(constraints) 中传递了以下约束,
constraints = {
audio: {
echoCancellation: true,
echoCancellationType: 'browser',
autoGainControl: true,
noiseSuppression: true
},
video: true
};
然后我们通过 webRTC 分享了承诺的流,
让我们考虑 A 和 B 用户在那里,A 正在共享屏幕并且屏幕通过 webRTC 共享给 B 然后用户 B 遇到 ECHO 问题(在与用户 A 交谈时),
注意:如果用户 A 共享特定的选项卡/窗口屏幕,则用户 B 不存在 ECHO(与用户 A 交谈时)
我们正在使用 getDisplayMedia(constraints) 如下所示,
if (navigator.mediaDevices.getDisplayMedia) {
navigator.mediaDevices.getDisplayMedia(constraints).then(function (stream) { /*adding stream to webRTC and sharing to user B*/ }, function (error) { /*handling errors*/ });
} else {
navigator.getDisplayMedia(constraints).then(function (stream) { /*adding stream to webRTC and sharing to user B*/ },function (error) { /*handling errors*/ });
}
任何帮助,将不胜感激。谢谢。