MediaRecorderErrorEvent:error 属性
已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。
非标准:此特性未标准化。我们不建议在生产环境中使用非标准特性,因为它们浏览器支持有限,并且可能会更改或被移除。但是,在没有标准选项的特定情况下,它们可以是合适的替代方案。
MediaRecorderErrorEvent 接口的只读属性 **error** 是一个 DOMException 对象,提供了有关 MediaRecorder 实例抛出的异常的详细信息。
当发生 MediaRecorderErrorEvent 时,您可以通过检查 MediaRecorder 的 error 事件处理程序(onerror)中收到的 MediaRecorderErrorEvent 里的 error 属性,在一定程度上确定出了什么问题。
值
一个 DOMException,描述了事件所代表的错误。该错误的 name 属性的值可能是任何在处理媒体录制时有意义的异常,包括规范中特别标识的异常。这里的描述是通用的;您将在相应的 API 参考中找到它们可能发生的各种场景下更具体的描述。
InvalidStateError-
在不允许的操作上下文中尝试执行某项操作,或者对已删除或移除的对象发出了请求。
NotSupportedError-
由于指定的选项无效而无法创建
MediaRecorder。如果存在,message属性应提供更多信息。 SecurityError-
MediaStream被配置为不允许录制。例如,通过getUserMedia()获取的源,当用户拒绝使用输入设备权限时,可能出现这种情况。 InvalidModificationError-
正在录制的流中的轨道数量已更改。在录制媒体时,您不能添加或删除轨道。
UnknownError-
发生了无法分类的非安全相关错误。录制停止,
MediaRecorder的state变为inactive,将向MediaRecorder发送最后一个dataavailable事件,其中包含剩余的已接收数据,最后发送一个stop事件。
示例
基本错误处理示例
此函数为给定的 MediaStream 创建并返回一个 MediaRecorder,该 MediaRecorder 被配置为将数据缓冲到数组中并监视错误。
function recordStream(stream) {
let recorder = null;
let bufferList = [];
try {
recorder = new MediaRecorder(stream);
} catch (err) {
/* exception while trying to create the recorder; handle that */
}
recorder.ondataavailable = (event) => {
bufferList.push(event.data);
};
recorder.onerror = (event) => {
console.error(`Error: ${event.error}`);
};
recorder.start(100); /* 100ms time slices per buffer */
return recorder;
}
规范
此功能不再是任何规范的一部分,也无法成为标准。
浏览器兼容性
加载中…