我在一个正在处理的项目中使用RTCMultiConnection库,但遇到了问题。 当我尝试在Firefox(63.0.3版)中共享屏幕时,它适用于某些应用程序窗口,同时某些应用程序窗口仅显示黑屏而不是实际内容(例如Chrome和Teams)。另外,是否可以在Firefox中共享整个桌面而不是单个应用程序窗口?
答案 0 :(得分:0)
为此提供了一个新的标准API:getDisplayMedia。
不幸的是,它尚未在所有浏览器中实现,但可以在Firefox adapter.js中使用like this来使用:
adapter.browserShim.shimGetDisplayMedia(window, "screen"); // or "window"
(async () => {
try {
video.srcObject = await navigator.mediaDevices.getDisplayMedia({video: true});
} catch(e) {
console.log(e);
}
})();
它在Firefox中填充older non-standard API。请查看my blog,了解如何配置Chrome。
不幸的是,Firefox使JS应用程序在要求"screen"
和"window"
atm之间进行选择,这是非标准的,因此适配器polyfill只能要求其中之一。
假设您使用的是Windows,则带有“ Aero”窗口的黑屏是known bug。
正如我们所说的,浏览器正在以本地方式实现此API。