BrowserCaptureMediaStreamTrack: restrictTo()-Methode
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Die restrictTo()
-Methode der BrowserCaptureMediaStreamTrack
-Schnittstelle beschränkt einen Selbstaufnahme-Stream auf ein bestimmtes DOM-Element (und dessen Nachkommen).
Syntax
restrictTo(restrictionTarget)
Parameter
restrictionTarget
-
Eine Instanz von
RestrictionTarget
, die das Element repräsentiert, auf das der Stream beschränkt werden soll, odernull
/undefined
, in welchem Fall jegliche zuvor gesetzte Einschränkung von der Spur entfernt wird.
Rückgabewert
Ein Promise
, das zu undefined
aufgelöst wird.
Das Promise wird abgelehnt, wenn:
- Der
kind
der Spur nicht"video"
ist, oder ihrreadyState
nicht"live"
ist. - Das Ziel-Element der Einschränkung nicht mehr existiert.
- Die eingeschränkte Spur keine Spur ist, die vom Bildschirm des Benutzers aufgenommen wurde.
restrictionTarget
keine Instanz vonRestrictionTarget
,null
oderundefined
ist.restrictionTarget
in einem anderen Tab erstellt wurde als dem, der aufgenommen wird.
Hinweis:
In Chromium wird ein Aufruf von restrictTo()
abgelehnt, wenn eine Spur Klone hat (siehe Chrome issue 41482026).
Beispiele
Grundlegendes Einschränkungsbeispiel
// Options for getDisplayMedia()
const displayMediaOptions = {
preferCurrentTab: true,
};
// Create restriction target from DOM element
const demoElem = document.querySelector("#demo");
const restrictionTarget = await RestrictionTarget.fromElement(demoElem);
// Capture video stream from user's webcam and isolate video track
const stream =
await navigator.mediaDevices.getDisplayMedia(displayMediaOptions);
const [track] = stream.getVideoTracks();
// Restrict video track
await track.restrictTo(restrictionTarget);
// Broadcast restricted stream in <video> element
videoElem.srcObject = stream;
Sehen Sie Verwendung der Element-Capture- und Region-Capture-APIs für Beispielcode im Kontext.
Beenden der Einschränkung
Sie können die Einschränkung aufheben, indem Sie restrictTo()
auf demselben Track aufrufen und null
als Argument übergeben:
// Stop restricting
await track.restrictTo(null);
Spezifikationen
Specification |
---|
Element Capture # dom-browsercapturemediastreamtrack-restrictto |
Browser-Kompatibilität
BCD tables only load in the browser