以下代码适用于桌面浏览器(播放音乐)。但是,当我尝试在任何移动设备上打开该网站时,它无法正常工作。
var music = new Audio("mscs/gamemusic.mp3");
function playmusic() {
music.controls = false;
music.loop = false;
music.autoplay = true;
document.body.appendChild(music)
}
我在游戏开始时在一个函数中使用它:
function createnewgame() {
...
playmusic();
...
...
}
有谁知道什么是错的?
嗯,这显然是一个浏览器支持问题。根据caniuse,<audio>
元素(和js'Audio
对象是用于它的接口)已知已知的支持问题,包括
iOS和Chrome on Android不支持规范建议的
autoplay
和别的。不确定这是否可以通过某些库克服,但由于autoplay
的限制是由设计引入的,我不会指望解决方法...
您可以尝试直接从JavaScript播放音频,而不是将var“music”添加到html正文中。
function playmusic() {
music.play();
}
某些移动浏览器支持自动播放音频,但ios,chrome等需要交互式操作才能触发声音播放。您可以尝试使用静音属性... enter link description here