--- title: MediaRecorder.ondataavailable slug: Web/API/MediaRecorder/ondataavailable translation_of: Web/API/MediaRecorder/ondataavailable ---

{{APIRef("MediaStream Recording")}}

MediaRecorder.ondataavailable 事件处理程序(part of the MediaStream记录API)处理{{event("dataavailable")}}事件,让您在响应运行代码{{domxref("Blob")}}数据被提供使用。

dataavailable当MediaRecorder将媒体数据传递到您的应用程序以供使用时,将触发事件。数据在包含数据的{{domxref("Blob")}}对象中提供。这在四种情况下发生:

包含媒体数据的{{domxref("Blob")}}在{{event("dataavailable")}}事件的data属性中可用

句法

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

...
  var chunks = [];

  mediaRecorder.onstop = function(e) {
    console.log("data available after MediaRecorder.stop() called.");

    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", "#dom-mediarecorder-ondataavailable", "MediaRecorder.ondataavailable")}} {{Spec2("MediaStream Recording")}} 初始定义

浏览器兼容性

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

也可以看看