admin管理员组

文章数量:1341413

In Google Meet, if you click "Present Now" then "A Chrome Tab", it brings up a window that lets you share from another tab. This is different to the standard Screen Capture API as if you simply run

navigator.mediaDevices.getDisplayMedia({
    video: true,
    audio: true,
})

you get a window where you can choose between sharing your whole screen, sharing a window, or sharing a tab. I would like to limit this to tab only. I have tried applying constraints like:

video: { displaySurface: 'browser' }

or

video: { displaySurface: { exact: 'browser' } }

however, the specs say that this doesn't work and indeed it doesn't. But if that's the case, then how does Google Meet do it?

In Google Meet, if you click "Present Now" then "A Chrome Tab", it brings up a window that lets you share from another tab. This is different to the standard Screen Capture API as if you simply run

navigator.mediaDevices.getDisplayMedia({
    video: true,
    audio: true,
})

you get a window where you can choose between sharing your whole screen, sharing a window, or sharing a tab. I would like to limit this to tab only. I have tried applying constraints like:

video: { displaySurface: 'browser' }

or

video: { displaySurface: { exact: 'browser' } }

however, the specs say that this doesn't work and indeed it doesn't. But if that's the case, then how does Google Meet do it?

Share Improve this question asked Aug 30, 2020 at 14:00 Yousef AmarYousef Amar 6616 silver badges19 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 15

Google Meet uses the older extension API for screensharing. This API allows restricting the source types. It is still available but requires an extension (Google meet delivers a preinstalled extensions).

The standard getDisplayMedia does not allow restricting the types of displaySurface.

Update 2022: as on Chrome 107 some of these options are available via getDisplayMedia too, see this blog post for details

本文标签: javascriptHow does Google Meet allow you to screen share from another tabStack Overflow