Web/API/MediaTrackSupportedConstraints/displaySurface
The MediaTrackSupportedConstraints
dictionary's displaySurface
property indicates whether or not the displaySurface
constraint is supported by the user agent and the device on which the content is being used.
The supported constraints list is obtained by calling navigator.mediaDevices.getSupportedConstraints()
.
Syntax
isDisplaySurfaceSupported = supportedConstraints.displaySurface;
Value
A Boolean value which is true
if the displaySurface
constraint is supported by the device and user agent.
Example
This method sets up the constraints object specifying the options for the call to getDisplayMedia()
. It adds the displaySurface
constraint (requesting that only full-screen sharing be allowed) only if it is known to be supported by the browser. Capturing is then started by calling getDisplayMedia()
and attaching the returned stream to the video element referenced by the variable videoElem
.
async function capture() {
let supportedConstraints = navigator.mediaDevices.getSupportedConstraints();
let displayMediaOptions = {
video: {
},
audio: false;
};
if (supportedConstraints.displaySurface) {
displayMediaOptions.video.displaySurface = "monitor";
}
try {
videoElem.srcObject = await navigator.mediaDevices.getDisplayMedia(displayMediaOptions);
} catch(err) {
/* handle the error */
}
}
Specifications
Specification | Status | Comment |
Screen CaptureThe definition of 'MediaTrackSupportedConstraints.displaySurface' in that specification. | Working Draft | Initial definition |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
displaySurface
|
Chrome
No support No |
Edge
No support No |
Firefox
No support No |
IE
No support No |
Opera
Full support Yes |
Safari
? |
WebView Android
No support No |
Chrome Android
No support No |
Firefox Android
No support No |
Opera Android
? |
Safari iOS
? |
Samsung Internet Android
No support No |
Legend
- Full support
- Full support
- No support
- No support
- Compatibility unknown
- Compatibility unknown
See also
- Screen Capture API
- Using the screen capture API
- Capabilities, constraints, and settings
MediaDevices.getDisplayMedia()
MediaStreamTrack.getConstraints()
MediaStreamTrack.applyConstraints()
MediaStreamTrack.getSettings()
MediaTrackSupportedConstraints.displaySurface by Mozilla Contributors is licensed under CC-BY-SA 2.5.