Javascript音频在移动设备上不起作用

时间:2018-09-02 20:54:27

标签: javascript android ios audio autoplay

下面的代码在桌面浏览器上可以正常工作(播放音乐)。但是,当我尝试在任何移动设备上打开网站时,都无法正常工作。

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();
    ...
    ...
}

有人知道怎么了吗?

3 个答案:

答案 0 :(得分:0)

好吧,这显然是浏览器支持问题。根据{{​​3}},<audio>元素(而js的Audio对象是用于此的接口)存在已知的支持问题,包括

  

caniuseiOS不支持规范建议的autoplay

和其他。不确定是否可以通过某些库克服此问题,但是由于autoplay的限制是设计引入的,因此我不会指望解决方法...

答案 1 :(得分:0)

您可以尝试直接从JavaScript播放音频,而不是在html正文中添加var“音乐”。

function playmusic() {
music.play();
}


答案 2 :(得分:0)

某些移动浏览器支持音频的自动播放,但是ios,chrome和其他浏览器需要交互操作才能触发声音播放。您可以尝试使用静音属性... enter link description here