Метод CanvasCaptureMediaStreamTrack: requestFrame()
Метод requestFrame() интерфейса CanvasCaptureMediaStreamTrack запрашивает захват кадра с холста и отправку его в поток.
Приложения, которым требуется точный контроль над временными параметрами рендеринга и захвата кадра, могут использовать requestFrame() для прямого указания времени захвата кадра.
Чтобы предотвратить автоматический захват кадров, и чтобы кадры захватывались только при вызове requestFrame(), укажите значение 0 для метода captureStream() при создании потока.
Синтаксис
requestFrame()
Возвращаемое значение
None (undefined).
Примечания по использованию
В спецификации есть отмеченная проблема, указывающая, что в настоящее время не генерируются исключения, если холст не имеет чистого источника происхождения. Это может измениться в будущем, поэтому разумно подготовиться и следить за исключениями, такими как SecurityError (хотя конкретная ошибка, которая может быть сгенерирована, не указана в спецификации, это вероятный вариант).
Пример
// 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();
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
requestFrame |
51 | 79 | Нет | 38 | 11 | 51 | Нет | 41 | 11 | 5.0 | 51 |
См. также
-
CanvasCaptureMediaStreamTrack, интерфейс, к которому он относится. <canvas>
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/CanvasCaptureMediaStreamTrack/requestFrame