Javascript 音频错误参数

Javascript 音频错误参数,javascript,html,Javascript,Html,我正在创建一个基于HTML5的小型网站。在某个时刻,我想播放一个声音。我播放的声音如下: sound = new Audio(url); sound.addEventListener("error", function(e) { console.log("Logging playback error: " + e); }); sound.load(); sound.play(); 当发生错误时,我无法找出e中的内容。不幸的是,这个

我正在创建一个基于HTML5的小型网站。在某个时刻,我想播放一个声音。我播放的声音如下:

    sound = new Audio(url);
    sound.addEventListener("error", function(e) { 
               console.log("Logging playback error: " + e); });
    sound.load();
    sound.play();
当发生错误时,我无法找出
e
中的内容。不幸的是,这个错误只发生在iPad上,所以我不能使用
Firebug
来调试它。在文件中我没有找到对这个论点的描述

任何帮助都将不胜感激。

我可能找到了该消息对象。错误代码位于
sound.error.code
e.currentTarget.error.code
属性中,它可以包含以下4位数字之一:

MEDIA_ERR_ABORTED=1
MEDIA_ERR_NETWORK=2
MEDIA_ERR_DECODE=3
MEDIA_ERR_SRC_NOT_SUPPORTED=4

基于此,我创建了一个函数,该函数将输出错误消息,而不是代码。它使用ES6中的方法,但在撰写本文时(2019年11月),它在所有主要浏览器中都得到了完全支持

这是一个介绍函数用法的代码段:

const getMediaErrorMessage=error=>Object.keys(Object.getPrototypeOf(error.currentTarget.error)).find(key=>error.currentTarget.error[key]==error.currentTarget.error.code);
常量url='xxx';//使用错误的url,以获取错误
const sound=新音频(url);
sound.addEventListener('error',e=>console.log('Media error occurrent:${getMediaErrorMessage(e)}`));
sound.load();

声音。播放()我做了同样的搜索。e在任何地方都没有记录。它可能是e.text,但也可能是e.message。我想知道
e
还包含哪些内容。好的,您是否可以尝试添加一些类似于此示例中的列表,仅用于“error”侦听器?如您所见,错误处理程序只是尝试记录错误。JSFIDLE非常棒!谢谢但是,是否有这方面的文件?我真的不想在各种浏览器上进行JSFIDL操作,只是为了确保事情按照我的预期进行。为什么到处都没有记录?我不知道,可能没有多少人使用它。而且它似乎是一个新的财产。第二次谷歌搜索发现MediaError对象,例如:
const getMediaErrorMessage = error => Object.keys(Object.getPrototypeOf(error.currentTarget.error)).find(key => error.currentTarget.error[key] === error.currentTarget.error.code);