我想预加载多个音频文件。为此,我尝试在JavaScript中创建多个Audio元素。
function loadAudio(){
audio1 = new Audio();
audio1.addEventListener('canplaythrough', isLoaded, false);
audio1.src = 'assets/audio/Maid with the Flaxen Hair.mp3';
audio1.load();
}
function isLoaded(){
audio1.removeEventListener('canplaythrough', isAppLoaded);
alert('maid');
alert('start audio 2');
audio2 = new Audio();
audio2.addEventListener('canplaythrough', isLoaded2, false);
audio2.src = 'assets/audio/Kalimba.mp3';
audio2.load();
}
function isLoaded2(){
alert('kalimba');
}
我只收到第一个警报,第二个警报不起作用。
我发现我一次只能播放一个声音,但是我也只能加载一个声音吗?脚本是否需要为我创建的每个新Audio对象提供另一个用户输入?或者有没有人有另一种方法来创建音频预加载器?
答案 0 :(得分:0)
这可能与ios-devices上的自动播放(以及据我所知的自动加载)音频文件的限制有关(参见此处:Limitations of HTML5 Audio on iOS 4?)。
简而言之:您无法以编程方式在ios设备上启动音频播放,只允许在可信任(=由用户启动)事件的事件处理程序中使用。
答案 1 :(得分:0)
Yo可以在IOS设备上播放多个音频 使用以下方式
$("#btn").on("click",function(){
alert("audio clicked");
var aud=new Audio();
aud.src="music.mp3";
aud.play();
var aud1=new Audio();
aud1.src="intro.mp3";
aud1.play();
})
以上代码在设备上播放多个音频