1

我正在使用声音管理器 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();
                },
            });
        }

它发出声音。但问题是声音有延迟..

如何避免这个问题?

有人能帮助我吗?

4

2 回答 2

1

您可以在 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);

});
于 2014-05-01T15:23:33.237 回答
0

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

于 2012-08-16T09:52:31.077 回答