BrowserCaptureMediaStreamTrack: cropTo()-Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
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 cropTo()
-Methode der BrowserCaptureMediaStreamTrack
-Schnittstelle beschneidet einen Selbstaufnahme-Stream auf den Bereich, in dem ein angegebenes DOM-Element gerendert wird.
Syntax
cropTo(cropTarget)
Parameter
cropTarget
-
Eine Instanz von
CropTarget
, die den Bereich des renderten Elements repräsentiert, auf den der Stream beschnitten werden soll, odernull
/undefined
. In diesem Fall wird ein zuvor festgelegtes Beschneiden vom Track entfernt.
Rückgabewert
Ein Promise
, das zu undefined
aufgelöst wird.
Das Promise wird abgelehnt, wenn:
- Der Track
kind
nicht"video"
ist oder dessenreadyState
nicht"live"
ist. - Das Element des Beschneidungsziels nicht mehr existiert.
- Der zu beschneidende Track nicht von dem Bildschirm des Benutzers erfasst wurde.
cropTarget
keine Instanz vonCropTarget
ist, odernull
/undefined
ist.cropTarget
in einem anderen Tab erstellt wurde, als der, der erfasst wird.
Hinweis:
In Chromium wird, falls ein Track Klone hat, cropTo()
abgelehnt (siehe Chrome-Issue 41482026).
Beispiele
Einfaches Beispiel für das Beschneiden
// Options for getDisplayMedia()
const displayMediaOptions = {
preferCurrentTab: true,
};
// Create crop target from DOM element
const demoElem = document.querySelector("#demo");
const cropTarget = await CropTarget.fromElement(demoElem);
// Capture video stream from user's webcam and isolate video track
const stream =
await navigator.mediaDevices.getDisplayMedia(displayMediaOptions);
const [track] = stream.getVideoTracks();
// Crop video track
await track.cropTo(cropTarget);
// Broadcast cropped stream in <video> element
videoElem.srcObject = stream;
Siehe Verwendung der Element Capture und Region Capture APIs für Beispielcode im Kontext.
Beenden des Beschneidens
Sie können das Beschneiden beenden, indem Sie einen Aufruf von cropTo()
auf einen zuvor beschnittenen Track machen und ihm das Argument null
übergeben:
// Stop cropping
await track.cropTo(null);
Spezifikationen
Specification |
---|
Region Capture # dom-browsercapturemediastreamtrack-cropto |
Browser-Kompatibilität
BCD tables only load in the browser