MediaRecorder: stop() 方法
MediaRecorder 接口的 stop() 方法用于停止媒体捕获。
调用 stop() 方法时,用户代理 (UA) 会将一个任务加入队列,该任务会执行以下步骤:
- 如果
MediaRecorder.state是“inactive”(非活动),则抛出一个 DOMInvalidState错误并终止这些步骤。如果MediaRecorder.state不是“inactive”,则继续执行下一步。 - 将
MediaRecorder.state设置为“inactive”,并停止捕获媒体。 - 抛出一个
dataavailable事件,其中包含已收集数据的 Blob。 - 抛出一个
stop事件。
语法
js
stop()
参数
无。
返回值
无(undefined)。
异常
InvalidStateErrorDOMException-
如果
MediaRecorder当前处于"inactive"状态,则抛出此异常;如果MediaRecorder未处于活动状态,则无法停止录制。
示例
js
stop.onclick = () => {
mediaRecorder.stop();
console.log("recorder stopped, data available");
};
规范
| 规范 |
|---|
| MediaStream Recording # dom-mediarecorder-stop |
浏览器兼容性
加载中…
另见
- 使用 MediaStream Recording API
- Web Dictaphone:MediaRecorder + getUserMedia + Web Audio API 可视化演示,由 Chris Mills 制作(GitHub 源代码)。
- simpl.info MediaStream 录制演示,由 Sam Dutton 制作。
Navigator.getUserMedia