MediaRecorder:resume() 方法

Baseline 已广泛支持

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

MediaRecorder 接口的 resume() 方法用于在媒体录制曾被暂停后,恢复录制。

如果 MediaRecorder.state 已经是 "recording"(录制中),那么调用 resume() 将不起作用。

当调用 resume() 方法时,浏览器会排队一个任务来执行以下步骤:

  1. 如果 MediaRecorder.state 是 "inactive"(非活动),则抛出一个 DOM InvalidStateError 异常并终止这些步骤。如果 MediaRecorder.state 不是 "inactive"(非活动),则继续下一步。
  2. MediaRecorder.state 设置为 "recording"(录制中)。
  3. 继续将数据收集到当前的 Blob 中。
  4. 触发一个 resume 事件。

语法

js
resume()

参数

无。

返回值

无(undefined)。

异常

InvalidStateError DOMException

如果 MediaRecorder 当前状态为 "inactive"(非活动),则抛出此错误。

示例

js
pause.onclick = () => {
  if (MediaRecorder.state === "recording") {
    mediaRecorder.pause();
    // recording paused
  } else if (MediaRecorder.state === "paused") {
    mediaRecorder.resume();
    // resume recording
  }
};

规范

规范
MediaStream Recording
# dom-mediarecorder-resume

浏览器兼容性

另见