CanvasCaptureMediaStreamTrack.requestFrame()
CanvasCaptureMediaStreamTrack
のメソッド requestFrame()
はフレームをキャンバスから取り込んでストリームに送信することを依頼します。描画やフレームの取り込みのタイミングを慎重に制御する必要のあるアプリケーションは、フレームを取り込む時を直接指定するのに requestFrame()
を使用することができます。
フレームの自動取り込みを避け、フレームが requestFrame()
が呼ばれた時だけ取り込まれるようにするには、ストリームを生成する時に captureStream()
メソッドに 0 の値を指定します。
構文
stream.requestFrame();
戻り値
undefined
使用上の注意
今のところ、キャンバスのオリジンが明確でなくても例外を投げないことが、仕様でフラグ付けされた問題点です。将来は変わるでしょうが、事前に計画をし SecurityError
のような例外(投げられる特定のエラーが仕様書では言及されていませんが、これが有力な候補です) を監視することが賢明です。
例
// 取り込むキャンバス要素を探す
var canvasElt = document.getElementsByTagName("canvas")[0];
// ストリームを取得する
var stream = canvasElt.captureStream(25); // 25 FPS
// キャンバスの現在の状態をフレームとしてストリームに送信する
stream.getVideoTracks()[0].requestFrame();
仕様
Specification |
---|
Media Capture from DOM Elements # dom-canvascapturemediastreamtrack-requestframe |
ブラウザー実装状況
BCD tables only load in the browser
関連情報
CanvasCaptureMediaStream
(en-US) 、属するインターフェース。<canvas>