我尝试使用onfinished在SoundManager2中的声音播放完毕时触发一个函数。我的代码如下:
function createSound(id, path) {
mySound = soundManager.createSound({
id: id,
url: path,
volume: 100,
onfinish: playNextSound(id),
(...)
},
});
return mySound;
}
function playNextSound(id) {
(...)
alert("Done!");
}
但是,发生的事情是,每当我单击播放时,该函数就会触发(并显示警报),这显然不应该发生。我也尝试过把infinish放在play()函数中,但无济于事。
任何想法可能有什么问题吗?
最佳答案
因为您正在执行playNextSound
函数并将其返回值分配给onfinish
。
您应该这样做:
onfinish: playNextSound,
关于javascript - 使用SoundManager2时onfinish会提前触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16447154/