在业务中用audio标签播放完一首歌曲后,自动播放下一首。 想着播放完在产生onended事件后做一些清理工作然后播放下一首:
audio.src = ""; 但这样会产生onerror事件。
var audio = new Audio(); document.body.appendChild(audio); if (audio != null){ audio.src = "allofMe.mp3"; audio.autoplay = true; audio.controls = true; audio.onended = function () { console.log("onended: "); audio.src = ''; }; audio.onerror = function () { console.log("onerror: " + audio.error.code + " error msg: " + audio.error.message); }; }
在PC上的Chrome上产生的错误:
4 error msg: MEDIA_ELEMENT_ERROR: Empty src attribute
在没有播放完时,我们直接对src赋空值也会产生同样的错误信息
var audio = new Audio(); document.body.appendChild(audio); if (audio != null){ audio.src = "allofMe.mp3"; audio.autoplay = true; audio.controls = true; audio.onerror = function () { console.log("onerror: " + audio.error.code + " error msg: " + audio.error.message); }; } setTimeout(function () { audio.src = ""; }, 6000);