MediaRecorder.requestData()

MediaRecorder.requestData() メソッド(MediaStream 収録 API の一部)は、 dataavailable イベントを発生させるために使用します。これは、このメソッドを呼び出した時点での、キャプチャされたメディアの Blob オブジェクトを含みます。その後、これを入手して操作することができます。

requestData() メソッドを呼び出すと、ブラウザーは次の手順を実行するタスクをキューに入れます。

  1. MediaRecorder.state が "inactive" であった場合は、DOM の InvalidState エラーを発生させ、これらの手順を終了します。 MediaRecorder.state が "inactive" でなかった場合は、次の手順に進みます。
  2. dataavailable イベントを発生させます。これは現在キャプチャされているデータの Blob を含む (Blob はイベントの data 属性で利用可能です)。
  3. 新しい 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

関連情報