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 に答える