CanvasCaptureMediaStreamTrack: requestFrame()-Methode

Die requestFrame()-Methode der CanvasCaptureMediaStreamTrack-Schnittstelle fordert an, dass ein Frame von der <canvas> erfasst und an den Stream gesendet wird.

Anwendungen, die das Timing von Rendering und Frame-Erfassung sorgfältig steuern müssen, können requestFrame() verwenden, um direkt anzugeben, wann ein Frame erfasst werden soll.

Um eine automatische Erfassung von Frames zu verhindern, sodass Frames nur erfasst werden, wenn requestFrame() aufgerufen wird, geben Sie beim Erstellen des Streams einen Wert von 0 für die captureStream()-Methode an.

Syntax

js
requestFrame()

Rückgabewert

Keine (undefined).

Verwendungshinweise

Derzeit gibt es im Spezifikationsentwurf einen Hinweis darauf, dass momentan keine Ausnahmen ausgelöst werden, wenn die <canvas> nicht origin-clean ist. Dies könnte sich in Zukunft ändern, daher wäre es klug, sich darauf vorzubereiten und auf Ausnahmen wie SecurityError zu achten (obwohl der spezifische Fehler, der ausgelöst werden könnte, nicht in der Spezifikation erwähnt wird, ist dies ein wahrscheinlicher Kandidat).

Beispiel

js
// Find the canvas element to capture
const canvasElt = document.querySelector("canvas");

// Get the stream
const stream = canvasElt.captureStream(25); // 25 FPS

// Send the current state of the canvas as a frame to the stream
stream.getVideoTracks()[0].requestFrame();

Spezifikationen

Specification
Media Capture from DOM Elements
# dom-canvascapturemediastreamtrack-requestframe

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
requestFrame

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support

Siehe auch