--- title: MediaRecorder.ondataavailable slug: Web/API/MediaRecorder/ondataavailable tags: - API - Audio - Media Capture - Media Recorder API - MediaRecorder - MediaStream Recording API - Property - Reference - Video - ondataavailable translation_of: Web/API/MediaRecorder/ondataavailable ---

{{APIRef("MediaStream Recording")}}

MediaRecorder.ondataavailable イベントハンドラ(MediaStream Recording API の一部)は {{event("dataavailable")}} イベントを処理します。 これにより、{{domxref("Blob")}} データが使用可能になったことに応じてコードを実行できます。

dataavailable イベントは、MediaRecorder がメディアデータをアプリで使用するために引き渡すときに発生します。 データはデータを含む {{domxref("Blob")}} オブジェクトで提供されます。 これは次の4つの状況で発生します。

メディアデータを含む {{domxref("Blob")}} は、{{event("dataavailable")}} イベントの data プロパティで利用できます。

構文

MediaRecorder.ondataavailable = function(event) { ... }
MediaRecorder.addEventListener('dataavailable', function(event) { ... })

...
  var chunks = [];

  mediaRecorder.onstop = function(e) {
    console.log("MediaRecorder.stop() 呼び出し後に利用可能なデータ。");

    var audio = document.createElement('audio');
    audio.controls = true;
    var blob = new Blob(chunks, { 'type' : 'audio/ogg; codecs=opus' });
    var audioURL = window.URL.createObjectURL(blob);
    audio.src = audioURL;
    console.log("レコーダー停止");
  }

  mediaRecorder.ondataavailable = function(e) {
    chunks.push(e.data);
  }

...

仕様

仕様 状態 コメント
{{SpecName("MediaStream Recording", "#widl-MediaRecorder-ondataavailable", "MediaRecorder.ondataavailable")}} {{Spec2("MediaStream Recording")}} 初期定義

ブラウザーの互換性

{{Compat("api.MediaRecorder.ondataavailable")}}

関連情報