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

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
requestData

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

関連情報