CanvasCaptureMediaStreamTrack: Methode requestFrame()

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Die requestFrame()-Methode der CanvasCaptureMediaStreamTrack-Schnittstelle fordert an, dass ein Frame vom Canvas aufgenommen und an den Stream gesendet wird.

Anwendungen, die das Timing von Rendering und Frame-Erfassung genau steuern müssen, können requestFrame() verwenden, um direkt festzulegen, wann es Zeit ist, einen Frame zu erfassen.

Um die automatische Erfassung von Frames zu verhindern, sodass Frames nur erfasst werden, wenn requestFrame() aufgerufen wird, geben Sie einen Wert von 0 für die Methode captureStream() an, wenn Sie den Stream erstellen.

Syntax

js
requestFrame()

Parameter

Keine.

Rückgabewert

Keine (undefined).

Hinweise zur Benutzung

Derzeit gibt es ein in der Spezifikation markiertes Problem, das darauf hinweist, dass derzeit keine Ausnahmen ausgelöst werden, wenn das Canvas nicht origin-clean ist. Dies kann sich in Zukunft ändern, daher wäre es klug, vorauszuplanen und auf Ausnahmen wie SecurityError zu achten (obwohl der spezifische Fehler, der möglicherweise ausgelöst wird, 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

Siehe auch