このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

MediaRecorder: requestData() メソッド

Baseline
広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2021年4月以降、すべてのブラウザーで利用可能です。

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

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

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

構文

js
requestData()

引数

なし。

返値

なし (undefined)。

例外

InvalidStateError DOMException

MediaRecorder が現在 「inactive」 の状態である場合に発生します。MediaRecorder がアクティブでない場合、録画をキャプチャすることはできません。

例

js
captureMedia.onclick = () => {
  mediaRecorder.requestData();
  // これまでのデータのスナップショットを
  // 使用可能にする ondataavailable が発生し、
  // それから、キャプチャは新しい Blob で続行されます
};

仕様書

仕様書
MediaStream Recording
# dom-mediarecorder-requestdata

ブラウザーの互換性

関連情報