web api interface
CaptureController
Limited availabilitySecure context
The CaptureController interface provides methods that can be used to further manipulate a captured display surface (captured via getDisplayMedia())
A CaptureController object is associated with a captured display surface by passing it into a getDisplayMedia() call as the value of the options object’s controller property.
Constructor
CaptureController()Experimental- : Creates a new
CaptureControllerobject instance.
- : Creates a new
Instance properties
zoomLevelExperimental- : The captured display surface’s current zoom level.
Instance methods
decreaseZoomLevel()Experimental- : Decreases the captured display surface’s zoom level by one increment.
forwardWheel()Experimental- : Starts forwarding
wheelevents fired on the referenced element to the viewport of an associated captured display surface.
- : Starts forwarding
getSupportedZoomLevels()Experimental- : Returns the different zoom levels supported by the captured display surface.
increaseZoomLevel()Experimental- : Increases the captured display surface’s zoom level by one increment.
resetZoomLevel()Experimental- : Resets the captured display surface’s zoom to its initial level, which is
100.
- : Resets the captured display surface’s zoom to its initial level, which is
setFocusBehavior()Experimental- : Controls whether the captured tab or window will be focused or whether the focus will remain with the tab containing the capturing app.
Events
zoomlevelchangeExperimental- : Fires when the captured display surface’s zoom level changes.
Examples
// Create a new CaptureController instance
const controller = new CaptureController();
// Prompt the user to share a tab, window, or screen.
const stream = await navigator.mediaDevices.getDisplayMedia({ controller });
// Query the displaySurface value of the captured video track
const [track] = stream.getVideoTracks();
const displaySurface = track.getSettings().displaySurface;
if (displaySurface === "browser") {
// Focus the captured tab.
controller.setFocusBehavior("focus-captured-surface");
} else if (displaySurface === "window") {
// Do not move focus to the captured window.
// Keep the capturing page focused.
controller.setFocusBehavior("no-focus-change");
}
Specifications
SpecificationsStandards references are available on the canonical MDN page.
Browser compatibility
Browser compatibilityCompatibility data is available on the canonical MDN page.