为什么我的 JavaScript `new Audio()` 播放音乐失效?

为什么我的 javascript `new audio()` 播放音乐失效?

javascript 中 new audio() 播放音乐失效

近日,在制作一个基于原生 html 的网页时,使用了 new audio() 来播放一段 mp3 文件,但奇怪的是,音乐并未播放,而控制台却不断显示错误:“uncaught (in promise) domexception: failed to load because no supported source was found.”

问题解决

首先,需要明确控制台报错提示的是未加载到资源。其次,new audio(url) 接受一个 url 参数,浏览器在此参数中指定音频源,并在返回新对象之前开始异步加载该资源。需要注意的是,此加载过程是异步的,建议使用加载事件触发回调函数来执行音频播放操作。

修改后的代码如下:

const music = new Audio('./1.mp3');
music.addEventListener("canplaythrough", event => {
  // 音频可播放,如果权限允许,则播放
  music.play();
});

如果仍然无法播放,且控制台出现其他报错,通常是由于浏览器禁用了非用户交互的播放。解决办法是添加一个按钮,点击按钮后触发播放操作。

以上就是为什么我的 JavaScript `new Audio()` 播放音乐失效?的详细内容,更多请关注www.sxiaw.com其它相关文章!