媒体错误:message 属性
只读属性 MediaError.message
返回一个人类可读的字符串,其中提供与 MediaError
对象描述的错误相关的特定诊断详细信息,如果无法确定或提供诊断信息,则返回空字符串 (""
)。
值
一个字符串,提供有关错误发生原因的详细、具体说明,以及可能如何修复错误的说明。 这 不是 对 MediaError.code
属性值的通用描述,而是深入到此特定错误及其环境的具体细节。 如果没有可用的具体细节,则此字符串为空。
示例
此示例创建一个 <audio>
元素,为其建立错误处理程序,然后让用户点击按钮选择是否将有效的音频文件或丢失的文件分配给元素的 src
属性。 错误处理程序将一条消息输出到屏幕上的一个框中,描述错误,包括 code
和 message
。
仅显示代码的相关部分;您可以 在此处查看完整的源代码。
此示例创建一个 <audio>
元素,并让用户为其分配有效的音乐文件或指向不存在文件的链接。 这样我们就可以看到 error
事件处理程序的行为,该处理程序由我们添加到 <audio>
元素本身的事件处理程序接收。
错误处理程序如下所示
js
audioElement.onerror = () => {
let s = "";
const err = audioElement.error;
switch (err.code) {
case MediaError.MEDIA_ERR_ABORTED:
s += "The user canceled the audio.";
break;
case MediaError.MEDIA_ERR_NETWORK:
s += "A network error occurred while fetching the audio.";
break;
case MediaError.MEDIA_ERR_DECODE:
s += "An error occurred while decoding the audio.";
break;
case MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED:
s +=
"The audio is missing or is in a format not supported by your browser.";
break;
default:
s += "An unknown error occurred.";
break;
}
const message = err.message;
if (message?.length > 0) {
s += ` ${message}`;
}
displayErrorMessage(`<strong>Error ${err.code}:</strong> ${s}<br>`);
};
这从 error
属性获取 MediaError
对象,该属性描述了 HTMLAudioElement
的错误,该元素表示音频播放器。 检查错误的 code
属性以确定要显示的通用错误消息,如果 message
不为空,则追加以提供更多详细信息。 然后将生成的文本输出到日志。
结果
您可以在下面尝试此示例,也可以 在此页之外查看此示例的实际运行效果。
规范
规范 |
---|
HTML 标准 # dom-mediaerror-message-dev |
浏览器兼容性
BCD 表格仅在浏览器中加载
另请参阅
MediaError
: 用于定义MediaError.message
属性的接口<audio>
,<video>