为什么我的 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()` 播放音乐失效?的详细内容,更多请关注其它相关文章!