CanvasCaptureMediaStreamTrack: requestFrame() 方法
CanvasCaptureMediaStreamTrack 介面的 requestFrame() 方法會請求從 Canvas 捕獲一幀並將其傳送到流。
需要精確控制渲染和幀捕獲時序的應用程式可以使用 requestFrame() 來直接指定捕獲幀的時間。
為了防止自動捕獲幀,即幀僅在呼叫 requestFrame() 時被捕獲,請在建立流時為 captureStream() 方法指定 0 值。
語法
js
requestFrame()
引數
無。
返回值
無(undefined)。
用法說明
目前規範中有一個問題指出,此時,如果 Canvas 並非源自乾淨(origin-clean),則不會丟擲任何異常。這將來可能會改變,因此最好提前規劃並留意可能的異常,例如 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 |
瀏覽器相容性
載入中…