HTMLCanvasElement: captureStream() 方法
HTMLCanvasElement 介面的 captureStream() 方法會返回一個 MediaStream 物件,其中包含一個 CanvasCaptureMediaStreamTrack,用於即時捕獲 canvas 的內容。
語法
js
captureStream()
captureStream(frameRate)
引數
frameRate可選-
一個雙精度浮點數值,用於指示每個幀的捕獲速率。如果未設定,則每次 canvas 更改時都會捕獲一個新幀;如果設定為
0,則不會自動捕獲幀;相反,只有當返回的軌道的requestFrame()方法被呼叫時,才會捕獲幀。
返回值
指向一個 MediaStream 物件的引用,該物件包含一個 CanvasCaptureMediaStreamTrack。
異常
NotSupportedErrorDOMException-
如果
frameRate的值為負數,則會丟擲此錯誤。 SecurityErrorDOMException-
Canvas 的點陣圖不是 origin clean;至少部分內容已從載入文件的站點以外的站點載入,或可能已從其他站點載入。
示例
js
// Find the canvas element to capture
const canvasElt = document.querySelector("canvas");
// Get the stream
const stream = canvasElt.captureStream(25); // 25 FPS
// Do things to the stream
// E.g. Send it to another computer using an RTCPeerConnection
// pc is an RTCPeerConnection created elsewhere
stream.getTracks().forEach((track) => pc.addTrack(track, stream));
規範
| 規範 |
|---|
| 從 DOM 元素捕獲媒體 # dom-htmlcanvaselement-capturestream |
瀏覽器相容性
載入中…
另見
HTMLMediaElement.captureStream(),允許從媒體元素捕獲流。MediaStream- 媒體捕獲和流 API