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
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
// 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
CanvasCaptureMediaStreamTrack
, die Schnittstelle, zu der es gehört.<canvas>