MediaError.message - Web APIs 编辑

The read-only property MediaError.message returns a DOMString which contains a human-readable string offering specific diagnostic details related to the error described by the MediaError object, or an empty string ("") if no diagnostic information can be determined or provided.

Syntax

var errorMessage = mediaError.message;

Value

A DOMString providing a detailed, specific explanation of what went wrong and possibly how it might be fixed. This is not a generic description of the MediaError.code property's value, but instead goes deeper into the specifics of this particular error and its circumstances. If no specific details are available, this string is empty.

Example

This example creates a <audio> element, establishes an error handler for it, then lets the user click buttons to choose whether to assign a valid audio file or a missing file to the element's src attribute. The error handler outputs a message to a box onscreen describing the error, including both the code and the message.

Only the relevant parts of the code are displayed; you can see the complete source code here.

The example creates an <audio> element and lets the user assign either a valid music file to it, or a link to a file which doesn't exist. This lets us see the behavior of the error event handler, which is received by an event handler we add to the <audio> element itself.

The error handler looks like this:

  audioElement.onerror = function() {
    let s = "";
    let 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;
    }

    let message = err.message;

    if (message && message.length) {
      s += " " + message;
    }

    displayErrorMessage("<strong>Error " + err.code + ":</strong> " + s + "<br>");
  };

This gets the MediaError object describing the error from the error property on the HTMLAudioElement representing the audio player.  The error's code attribute is checked to determine a generic error message to display, and, if message is not empty, it's appended to provide additional details. Then the resulting text is output to the log.

Result

You can try out this example below, and can see the example in action outside this page here.

Specifications

SpecificationStatusComment
HTML Living Standard
The definition of 'MediaError.message' in that specification.
Living StandardInitial definition

Browser compatibility

BCD tables only load in the browser

See also

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:99 次

字数:5723

最后编辑:7年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文