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