MediaRecorder: stop 事件

Baseline 已广泛支持

此特性已得到良好支持,可在多种设备和浏览器版本上使用。自 2021 年 4 月起,所有浏览器均已支持此特性。

stop 事件是 MediaRecorder 接口的一个事件,当调用 MediaRecorder.stop() 时,或者当正在捕获的媒体流结束时,会触发该事件。在每种情况下,stop 事件之前都会有一个 dataavailable 事件,从而使您可以在应用程序中使用在此之前捕获的 Blob

语法

在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("stop", (event) => { })

onstop = (event) => { }

事件类型

一个通用的 Event

示例

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

  const audio = document.createElement("audio");
  audio.controls = true;
  const blob = new Blob(chunks, { type: "audio/ogg; codecs=opus" });
  const audioURL = window.URL.createObjectURL(blob);
  audio.src = audioURL;
  console.log("recorder stopped");
};

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

规范

规范
MediaStream Recording
# dom-mediarecorder-onstop

浏览器兼容性

另见