Ipad html5加载多个音频文件

时间:2012-04-26 11:49:05

标签: ipad html5 audio preloader

我想预加载多个音频文件。为此,我尝试在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对象提供另一个用户输入?或者有没有人有另一种方法来创建音频预加载器?

2 个答案:

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

以上代码在设备上播放多个音频