MediaRecorder: pause() 方法

Baseline 已广泛支持

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

MediaRecorder 接口的 pause() 方法用于暂停媒体流录制。

当调用 MediaRecorder 对象的 pause() 方法时,浏览器会排队执行以下步骤的任务:

  1. 如果 MediaRecorder.state 为 "inactive",则抛出 DOM InvalidState 错误并终止这些步骤。否则,继续下一步。
  2. MediaRecorder.state 设置为 "paused"。
  3. 停止将数据收集到当前的 Blob 中,但保持其可用,以便稍后可以恢复录制。
  4. 触发一个 pause 事件。

语法

js
pause()

参数

无。

返回值

无(undefined)。

异常

InvalidStateError DOMException

如果 MediaRecorder 当前处于 "inactive" 状态,则抛出此错误;如果 MediaRecorder 未激活,则无法暂停录制。如果已处于暂停状态时调用 pause(),该方法将静默地不做任何操作。

示例

js
pause.onclick = () => {
  mediaRecorder.pause();
  console.log("recording paused");
};

规范

规范
MediaStream Recording
# dom-mediarecorder-pause

浏览器兼容性

另见