媒体错误:message 属性

只读属性 MediaError.message 返回一个人类可读的字符串,其中提供与 MediaError 对象描述的错误相关的特定诊断详细信息,如果无法确定或提供诊断信息,则返回空字符串 ("")。

一个字符串,提供有关错误发生原因的详细、具体说明,以及可能如何修复错误的说明。 这 不是MediaError.code 属性值的通用描述,而是深入到此特定错误及其环境的具体细节。 如果没有可用的具体细节,则此字符串为空。

示例

此示例创建一个 <audio> 元素,为其建立错误处理程序,然后让用户点击按钮选择是否将有效的音频文件或丢失的文件分配给元素的 src 属性。 错误处理程序将一条消息输出到屏幕上的一个框中,描述错误,包括 codemessage

仅显示代码的相关部分;您可以 在此处查看完整的源代码

此示例创建一个 <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 表格仅在浏览器中加载

另请参阅