MediaRecorder:stop() 方法

stop()MediaRecorder 接口用于停止媒体捕获的方法。

当调用 stop() 方法时,UA 会排队一个任务,执行以下步骤

  1. 如果 MediaRecorder.state 为 "inactive",则引发 DOM InvalidState 错误并终止这些步骤。如果 MediaRecorder.state 不为 "inactive",则继续执行下一步。
  2. MediaRecorder.state 设置为 "inactive" 并停止捕获媒体。
  3. 引发一个 dataavailable 事件,其中包含已收集的数据的 Blob。
  4. 引发一个 stop 事件。

语法

js
stop()

参数

无。

返回值

无 (undefined).

异常

InvalidStateError DOMException

如果 MediaRecorder 当前处于 "inactive" 状态,则抛出此异常;如果 MediaRecorder 未处于活动状态,则无法停止录制。

示例

js
stop.onclick = () => {
  mediaRecorder.stop();
  console.log("recorder stopped, data available");
};

规范

规范
MediaStream Recording
# dom-mediarecorder-stop

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅