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

BCD tables only load in the browser

Siehe auch