MediaRecorder.requestData()
MediaRecorder.requestData()
メソッド(MediaStream 収録 API の一部)は、 dataavailable
イベントを発生させるために使用します。これは、このメソッドを呼び出した時点での、キャプチャされたメディアの Blob
オブジェクトを含みます。その後、これを入手して操作することができます。
requestData()
メソッドを呼び出すと、ブラウザーは次の手順を実行するタスクをキューに入れます。
MediaRecorder.state
が "inactive" であった場合は、DOM のInvalidState
エラーを発生させ、これらの手順を終了します。MediaRecorder.state
が "inactive" でなかった場合は、次の手順に進みます。dataavailable
イベントを発生させます。これは現在キャプチャされているデータのBlob
を含む (Blob はイベントのdata
属性で利用可能です)。- 新しい Blob を作成し、その後にキャプチャしたデータをそこに配置します。
構文
js
requestData()
引数
なし。
返値
なし (undefined
)。
エラー
MediaRecorder
オブジェクトの MediaRecorder.state
が "recording"
でないときに requestData()
メソッドが呼び出されると、InvalidState
エラーが発生します — 記録が行われていないと、メディアをキャプチャできません。
例
js
captureMedia.onclick = () => {
mediaRecorder.requestData();
// これまでのデータのスナップショットを
// 使用可能にする ondataavailable が発生し、
// それから、キャプチャは新しい Blob で続行されます
};
仕様書
Specification |
---|
MediaStream Recording # dom-mediarecorder-requestdata |
ブラウザーの互換性
BCD tables only load in the browser
関連情報
- MediaStream 収録 API の使用
- ウェブディクタフォン: MediaRecorder + getUserMedia + Web Audio API 可視化デモ、Chris Mills 著(GitHub のソース)。(英語)
- simpl.info の MediaStream 収録のデモ、Sam Dutton 著。(英語)
Navigator.getUserMedia