MediaRecorder:error 事件
MediaRecorder 接口的 error 事件在发生错误时触发:例如,录制未被允许或尝试使用不支持的编解码器进行录制。
此事件不可取消,也不会冒泡。
语法
在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。
js
addEventListener("error", (event) => { })
onerror = (event) => { }
事件类型
一个 MediaRecorderErrorEvent。继承自 Event。
事件属性
继承自其父接口 Event 的属性。.
error只读-
一个
DOMException,包含有关发生的错误的信心。
描述
触发
当录制器在其生命周期内发生错误时调用的函数。除了可能发生的其他一般性错误之外,在使用 MediaStream Recording API 时,特别可能发生以下错误;要确定发生了哪种错误,请检查 MediaRecorderErrorEvent.error.name 的值。
SecurityError-
MediaStream被配置为不允许录制。例如,当用户拒绝使用输入设备的权限时,使用getUserMedia()获取的源可能出现这种情况。 InvalidModificationError-
正在录制的流上的轨道数量已更改。在录制媒体期间,您无法添加或删除轨道。
UnknownError-
发生了一个无法归类的非安全相关错误。录制停止,
MediaRecorder的state变为inactive,最后一个dataavailable事件会发送给MediaRecorder,包含剩余的接收数据,最后发送一个stop事件。
示例
使用 addEventListener() 来监听 error 事件。
js
async function record() {
const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
const recorder = new MediaRecorder(stream);
recorder.addEventListener("error", (event) => {
console.error(`error recording stream: ${event.error.name}`);
});
recorder.start();
}
record();
相同,但使用 onerror 事件处理程序属性。
js
async function record() {
const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
const recorder = new MediaRecorder(stream);
recorder.onerror = (event) => {
console.error(`error recording stream: ${event.error.name}`);
};
recorder.start();
}
record();
规范
| 规范 |
|---|
| MediaStream Recording # dom-mediarecorder-onerror |
浏览器兼容性
加载中…