Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在sound manager 2中避免声音延迟_Javascript_Audio_Soundmanager2 - Fatal编程技术网

Javascript 如何在sound manager 2中避免声音延迟

Javascript 如何在sound manager 2中避免声音延迟,javascript,audio,soundmanager2,Javascript,Audio,Soundmanager2,我正在使用sound manager 2为我的站点提供声音 我的js代码是: function makesound(val) { soundManager.useHighPerformance = true; soundManager.useFastPolling = true; soundManager.setup({ url: 'folder/sound',

我正在使用sound manager 2为我的站点提供声音

我的js代码是:

function makesound(val) {
            soundManager.useHighPerformance = true;
            soundManager.useFastPolling = true;


            soundManager.setup({

                url: 'folder/sound',
                onclick: function() {
                    var mySound = soundManager.createSound({
                        id: 'aSound',
                        url: 'folder/sound/'+val
                    });
                    mySound.play();
                },
            });
        }
它发出声音。但问题是声音有延迟

如何避免这个问题


有人能帮我吗?

尝试在页面加载时调用createSound函数,而不是在单击处理程序中。这将使声音文件能够在需要之前加载一次。此时,每次单击(或至少在第一次单击时)都要重新加载声音文件,在播放之前需要时间进行下载。

尝试在页面加载时调用createSound函数,而不是在单击处理程序中。这将使声音文件能够在需要之前加载一次。此时,每次单击(或至少第一次单击)都要重新加载声音文件,播放前需要时间下载。

当soundManager onload事件触发时,您可以创建声音对象,并确保将声音对象的自动加载设置为true

soundManager.onload(function(){
    var sounds = [];
    var sound1 = soundManager.createSound({
        id: 'aSound',
        url: 'folder/sound/audio.mp3',
        autoLoad: true,
    });
    sounds.push(sound1);

    document.getElementById("playButton").addEventListener('click', function(e){
        e.preventDefault();
        sounds[0].play();
    }, false);

});

您可以在soundManager onload事件触发时创建声音对象,并确保在声音对象上将autoLoad设置为true

soundManager.onload(function(){
    var sounds = [];
    var sound1 = soundManager.createSound({
        id: 'aSound',
        url: 'folder/sound/audio.mp3',
        autoLoad: true,
    });
    sounds.push(sound1);

    document.getElementById("playButton").addEventListener('click', function(e){
        e.preventDefault();
        sounds[0].play();
    }, false);

});

你能给出声音管理器中页面加载的代码吗。。我是这方面的新手。你能给出声音管理器中页面加载的代码吗。。我是这方面的新手。