Javascript Audio.play()在具有UI交互的移动设备上不工作
在通过手机播放音频时,我遇到了一个障碍。在桌面上运行良好,在多个地方查看过,但找不到可靠的修复方法。我尝试在点击按钮后播放4个音频文件4个音频文件在桌面上播放,但是在移动设备上仅播放1个音频文件有人能帮忙吗? 我看到了。游戏需要运行UI交互,但这是运行UI交互,因为“开始游戏”是一个按钮Javascript Audio.play()在具有UI交互的移动设备上不工作,javascript,jquery,audio,mobile,Javascript,Jquery,Audio,Mobile,在通过手机播放音频时,我遇到了一个障碍。在桌面上运行良好,在多个地方查看过,但找不到可靠的修复方法。我尝试在点击按钮后播放4个音频文件4个音频文件在桌面上播放,但是在移动设备上仅播放1个音频文件有人能帮忙吗? 我看到了。游戏需要运行UI交互,但这是运行UI交互,因为“开始游戏”是一个按钮 $("start-game").click(function(){ preCountdown(); }) function preCountdown() { preCountdow
$("start-game").click(function(){
preCountdown();
})
function preCountdown() {
preCountdownSound(parseInt($("#startCountdown").text())); /* just starts with 3 <h2 id="startCountdown">3</h2> */
var countToStart = setInterval(function() {
$("#startCountdown").text(function(i, text) {
if (parseInt(text) > 0) {
preCountdownSound(parseInt(text) - 1);
return parseInt(text) - 1;
} else {
clearTimeout(countToStart);
preCountdownSound($(this).text());
return;
}
});
}, 1200);
}
function preCountdownSound(preCountdownSec){
var audio1 = $("<audio id='audio1' src='assets/sounds/1-precountdown.mp3'></audio>");
var audio2 = $("<audio id='audio2' src='assets/sounds/2-precountdown.mp3'></audio>");
var audio3 = $("<audio id='audio3' src='assets/sounds/3-precountdown.mp3'></audio>");
var audioGo = $("<audio id='audioGo' src='assets/sounds/go-precountdown.mp3'></audio>");
if (preCountdownSec == 3) {
animatePreCountdown();
$("body").append(audio3);
document.getElementById("audio3").play(); //This audio file plays fine on mobile.
}
if (preCountdownSec == 2) {
animatePreCountdown();
$("body").append(audio2);
document.getElementById("audio2").play();
}
if (preCountdownSec == 1) {
animatePreCountdown();
$("body").append(audio1);
audio1.play();
}
if (preCountdownSec == "GO!") {
animatePreCountdown();
$("body").append(audioGo);
document.getElementById("audioGo").play();
}
}
$(“开始游戏”)。单击(函数(){
预计数();
})
函数预计数(){
preCountdownSound(parseInt($(“#startCountdown”).text());/*仅以3开头*/
var countToStart=setInterval(函数(){
$(“#开始计数”).text(函数(i,text){
如果(parseInt(text)>0){
预计数下行(parseInt(text)-1);
返回parseInt(text)-1;
}否则{
clearTimeout(countToStart);
预计数下行($(this).text());
返回;
}
});
}, 1200);
}
函数preCountdownSound(preCountdownSec){
var audio1=$(“”);
var audio2=$(“”);
var audio3=$(“”);
var audioGo=$(“”);
如果(预计数下限==3){
animatePreCountdown();
$(“正文”)。附加(第3段);
document.getElementById(“audio3”).play();//此音频文件在移动设备上播放效果良好。
}
如果(预计数下限==2){
animatePreCountdown();
$(“正文”)。追加(第2段);
document.getElementById(“audio2”).play();
}
如果(预计数下限==1){
animatePreCountdown();
$(“正文”)。附加(1);
音频1.播放();
}
如果(预计数下限==“开始!”){
animatePreCountdown();
$(“正文”)。追加(audioGo);
document.getElementById(“audioGo”).play();
}
}