MediaRecorder.requestData()

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

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

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

構文

MediaRecorder.requestData()

エラー

MediaRecorder オブジェクトの MediaRecorder.state"recording" でないときに requestData() メソッドが呼び出されると、InvalidState エラーが発生します — 記録が行われていないと、メディアをキャプチャできません。

...

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

...

仕様

仕様 状態 コメント
MediaStream Recording
MediaRecorder.requestData() の定義
草案 初期定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
requestDataChrome 完全対応 49Edge 未対応 なしFirefox 完全対応 25IE ? Opera 完全対応 36Safari ? WebView Android 完全対応 49Chrome Android 完全対応 49Firefox Android 完全対応 25Opera Android 完全対応 36Safari iOS ? Samsung Internet Android 完全対応 5.0

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明

関連情報