【问题标题】:Not able to loop between songs using pygame.mixer.music无法使用 pygame.mixer.music 在歌曲之间循环播放
【发布时间】:2020-12-19 14:53:38
【问题描述】:
def selection():
    for song in my_music:
        print(song)
        pygame.mixer.music.load(song)
        pygame.mixer.music.play(loops=0)

这里my_music 是包含我想播放的 mp3 文件路径的列表,但问题是它只播放第一个文件,尽管 my_music 列表包含超过 5 个。我还使用 print(song) 来检查但它会打印所有文件的路径,但只播放一个。谁能帮忙!!

【问题讨论】:

  • 从提供的代码 sn-p 来看,几乎没有证据可以继续。我怀疑变量 my_music 是在此函数范围之外的某个地方定义的,这可能是您问题的一部分。请编辑您的问题以显示最小的可重现集。请参阅Minimal Reproducible Example,了解如何最好地帮助我们。
  • 您可能想使用.queue().setendevent()

标签: python python-3.x list pygame


【解决方案1】:

pygame.mixer.music.play() 没有阻塞。歌曲需要排队进入混音器然后播放。 loops=x 参数用于重复队列中的歌曲

def play_songs(song_list):
    for song in song_list:
        print("queueing song: {}".format(song))
        pygame.mixer.music.queue(song)
    print("now playing...")
    pygame.mixer.music.play(loops=-1)        # -1 means repeat forever

【讨论】:

    猜你喜欢
    • 2018-12-16
    • 1970-01-01
    • 1970-01-01
    • 2021-04-28
    • 2013-01-26
    • 2017-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多