使用Javascript和/或HTML5预加载声音

时间:2015-10-25 03:24:24

标签: javascript jquery html5 audio

我创造了一个Joomla!我希望在鼠标点击时播放特定声音的组件。

我有以下代码:

        var context = new AudioContext(); 
        var sound; 
        var playSound = context.createBufferSource();
        var getSound = new XMLHttpRequest();
        getSound.open("GET", "clapping.wav", true);
        getSound.responseType = "arraybuffer";
        getSound.onload = function() {
        context.decodeAudioData(getSound.response, function(buffer){
        sound = buffer;     
        });     
        }
        getSound.send();
        getSound.send();
        setTimeout(function(){  
        playSound.buffer = electro;
        playSound.connect(context.destination);         
        },3500); 

        jQuery("#bgchanger").click(function() {     
        playSound.start(0);     
        }

这样可以正常工作但是我遇到的问题是,当我点击按钮后几秒钟后声音正在播放而不是立即播放,所以我希望它直接播放。

1 个答案:

答案 0 :(得分:0)

感觉有点愚蠢我只是注意到为什么会发生这种情况......他们几分钟前就把文件发给我了我刚注意到它在开始时有2.5秒的静音...我可以在调试屏幕上看到在Chrome上,我加载页面后52ms后下载文件。