我可以通过以下步骤在Firefox中实现它:
https
media.getusermedia.screensharing.allowed_domains
中的用户首选项about:config
,以将其列入白名单以进行屏幕共享。{video: {mediaSource: "screen"}}
这样的约束,但是在Chrome中,我完全迷失了。
大多数地方都在说:你需要首先在chrome:// flags中的getUserMedia()中启用名为Enable screen capture support的标志。 (但我无法在任何地方找到这个标志)
我检查了Muaz Khan的screen share plugin,它运行良好,但担心它与其他WebRTC实验项目相结合,我不知道如何自定义插件到我的项目。
在这个交汇点,我已经明白,没有插件或标志,就无法捕获桌面媒体流。
所以我想知道的是,我必须启用的标志是什么/必须是从头开始编写的插件的一部分,以使Chrome支持捕获桌面的方式与允许我们捕获相机的方式相同。
在Chrome / Chromium中,您无法使用“标准”Javascript来捕获用户屏幕。
它被chrome.desktopCapture API取代,这是Chrome扩展专用的。
您提供的示例依赖于此API和扩展。它是免费插件,但不是免费扩展。
enable-usermedia-screen-capture
旗帜从Chrome M36(chrome://flags/
)的Chromium Issue 347641中移除。
对于测试或试验,使用chrome --enable-usermedia-screen-capturing
启动Chrome时仍可启用此功能(在Chrome 68中测试)。
截图:
Chrome Platform Status还强调了MediaStream.getDisplayMedia()的实现,这将允许开发人员在没有任何插件的情况下从浏览器记录或共享屏幕。有关这方面的规范可以在Screen Capture Editor's Draft中找到。