Pygame:即使实际的歌曲没有完成,也会强行播放下一首歌曲? (又名"下一个"按钮)

时间:2017-02-05 11:44:16

标签: python pygame

我想用pygame制作与随身听相同的功能:播放,暂停,排队是好的。但是如何做上一个/下一个按钮?

我怎么能用pygame强制播放已经排队的下一首歌(并传递实际播放的ong?)

1 个答案:

答案 0 :(得分:0)

拥有歌曲标题列表,并使用变量跟踪列表中的位置。无论您使用的是pygame.mixer.music还是pygame.mixer.Sound,当点击“下一个”按钮时,只需将变量改为1,然后停止播放该歌曲,并将该变量对应的歌曲改为播放。 / p>

pygame.mixer.Sound的代码示例:

#setup pygame above this
#load sounds
sound1 = pygame.mixer.Sound("soundone.ogg")
sound2 = pygame.mixer.Sound("soundtwo.ogg")

queue = [sound1, sound2] #note that the list holds the sounds, not strings
var = 0

sound1.play()

while 1:
    if next(): #whatever the next button trigger is
        queue[var].stop() # stop current song
        if var == len(queue - 1): # if it's the last song
            var = 0 # set the var to represent the first song
        else:
            var += 1 # else, next song
        queue[var].play() # play the song var corresponds to