Javascript音频无法在移动设备上运行

问题描述 投票:0回答:3

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

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

有谁知道什么是错的?

javascript android ios audio autoplay
3个回答
0
投票

嗯,这显然是一个浏览器支持问题。根据caniuse<audio>元素(和js'Audio对象是用于它的接口)已知已知的支持问题,包括

iOSChrome on Android不支持规范建议的autoplay

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


0
投票

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

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.