[我正在制作纯HTML5
和JavaScript
的视频游戏,但在onend
之后等待0到5秒等待另一首歌曲播放时出现错误。我试图在歌曲的中间添加一个循环,直到某件事发生之前,它会一直重复。除了延迟之外,我已经完成了大部分工作。这是我的代码。 (简体)
function playMusic(source) {
if(soundOn) {
music = new Howl({
src: [source],
autoplay: true,
loop: true,
volume: (musicVol / 100),
onend: function() {
songEnded = 1;
setTimeout(function() {songEnded = 0;}, 1000)
}
});
}
}
function quickMusic() {
if(soundOn) {
music = new Howl({
src: ['song_start.wav'],
autoplay: true,
loop: false,
volume: (musicVol / 100),
onend: function() {
console.log("Finished!") //For debugging
playMusic('song_loop.wav')
}
});
}
}
我找到了一种方法,很抱歉回答我自己的问题,但这是我的方法。
function quickMusic() {
if(soundOn) {
music1 = new Howl({
src: ['song_loop.wav'],
autoplay: false,
loop: true,
volume: (musicVol / 100),
onend: function() {
console.log("Finished!") //For debugging
}
});
music = new Howl({
src: ['song_start.wav'],
autoplay: true,
loop: false,
volume: (musicVol / 100),
onend: function() {
console.log("Finished!") //For debugging
TEMP = music1
music1 = music
music = TEMP //I had to add this because of a volume slider
music.play()
}
});
}
}