CanvasCaptureMediaStreamTrack: requestFrame() 方法
requestFrame()
是 CanvasCaptureMediaStreamTrack
接口的一个方法,用于请求从画布捕获帧并将其发送到流。
需要仔细控制渲染和帧捕获时机的应用程序可以使用 requestFrame()
直接指定何时捕获帧。
为了防止自动捕获帧,以便仅在调用 requestFrame()
时才捕获帧,在创建流时,请为 captureStream()
方法指定值为 0。
语法
js
requestFrame()
返回值
无 (undefined
)。
使用说明
目前规范中有一个问题指出,此时,如果画布不是来源干净的,则不会抛出任何异常。这在将来可能会发生变化,因此最好提前计划并注意异常,例如 SecurityError
(尽管规范中没有提到可能会抛出的特定错误,但这是可能的候选者)。
示例
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();
规范
规范 |
---|
来自 DOM 元素的媒体捕获 # dom-canvascapturemediastreamtrack-requestframe |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。