Ipad html5加载多个音频文件

Ipad html5加载多个音频文件,ipad,html,audio,preloader,Ipad,Html,Audio,Preloader,我想预加载多个音频文件。为此,我尝试在JavaScript中创建多个音频元素 function loadAudio(){ audio1 = new Audio(); audio1.addEventListener('canplaythrough', isLoaded, false); audio1.src = 'assets/audio/Maid with the Flaxen Hair.mp3'; audio1.load(); } function isLoa

我想预加载多个音频文件。为此,我尝试在JavaScript中创建多个音频元素

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');
}
我只收到第一个警报,第二个警报根本不起作用


我发现我一次只能播放一个声音,但我也只能加载一个吗?对于我创建的每个新音频对象,脚本是否需要另一个用户输入?或者有人有其他方法为音频创建预加载程序吗?

这可能与ios设备上自动播放(以及据我所知自动加载)音频文件的限制有关(请参见此处:)


简而言之:您无法在ios设备上以编程方式启动音频播放,这仅允许从受信任(=由用户启动)事件的事件处理程序中启动。您可以在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();
                    }) 
上述代码在设备上播放多个音频

查看:查看: