鸣叫不会立即开始

问题描述 投票:0回答:1

[我正在制作纯HTML5JavaScript的视频游戏,但在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')
            }
        });
    }
}
javascript howler.js
1个回答
0
投票

我找到了一种方法,很抱歉回答我自己的问题,但这是我的方法。

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()
            }
        });
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.