我正在使用声音管理器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();
},
});
}
发出声音。但问题是声音有延迟..
如何避免这个问题?
有人能帮助我吗?
答案 0 :(得分: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);
});
答案 1 :(得分:0)
尝试在页面加载时调用createSound函数,而不是在单击处理程序中调用。这将使声音文件能够加载一次,并且在它需要之前加载。目前,您在每次点击时(或至少在第一次点击时)重新加载声音文件,并且在播放之前需要时间下载。