You*_*mar 4 javascript webrtc get-display-media
在Google Meet 中,如果您单击“立即演示”,然后单击“Chrome 标签页”,它会弹出一个窗口,让您可以从另一个标签页进行共享。这与标准的Screen Capture API不同,就好像您只是运行
navigator.mediaDevices.getDisplayMedia({
video: true,
audio: true,
})
Run Code Online (Sandbox Code Playgroud)
您会看到一个窗口,您可以在其中选择共享整个屏幕、共享窗口或共享选项卡。我想将其限制为仅选项卡。我曾尝试应用约束,如:
video: { displaySurface: 'browser' }
Run Code Online (Sandbox Code Playgroud)
或者
video: { displaySurface: { exact: 'browser' } }
Run Code Online (Sandbox Code Playgroud)
然而,规范说这行不通,实际上也行不通。但如果是这样,那么 Google Meet 是如何做到的呢?
Google Meet 使用较旧的扩展 API 进行屏幕共享。此 API允许限制源类型。它仍然可用,但需要一个扩展程序(Google meet 提供了一个预装的扩展程序)。
标准 getDisplayMedia 不允许限制 displaySurface 的类型。