#求助:JS中 使用new Audio() 音乐不播放的问题?
求助:关于JS new Audio() 音乐播放的问题
问题描述
最近在做一个基于原生html的小程序玩,js里放了一首MP3,实际页面加载js文件的时候,音乐并不会播放,且控制台一直报错。网上查了一圈,介绍的方法基本都尝试了,还是不行。有了解这个情况的大佬请求解答一下,多谢
控制台报错内容
Uncaught (in promise) DOMException: Failed to load because no supported source was found.
HTML
JS
回复
1个回答

test
2024-07-13
首先,你这个浏览器控制台报错的信息是没有加载到资源。其次,new Audio(url)
如果提供了url
,浏览器在返回新对象之前开始异步加载媒体资源。由于是加载音频资源是异步的,建议放到加载事件触发钩子函数里执行。
const music = new Audio('./1.mp3');
music.addEventListener("canplaythrough", event => {
/* 音频可以播放;如果权限允许则播放 */
music.play();
});
最后,如果还是不能播放(会有其他报错),则浏览器禁用了非用户交互的播放,可以加一个按钮,点击后在去触发播放。
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容