如何使用pygame一个接一个地播放多个mp3文件?

时间:2014-11-30 23:24:58

标签: python pygame

我正在使用pygame并尝试编写一个播放多个mp3文件的脚本,并每隔30秒在目录中旋转一个新的mp3文件。

到目前为止,我已经通过执行以下操作了解了如何播放特定文件:

import pygame

file = 'EverythingInItsRightPlace.mp3'
pygame.init()
pygame.mixer.init()
pygame.mixer.music.load(file)

我是否必须在脚本中指定每个文件?我该怎么做才能让它一个接一个地播放所有mp3文件,然后在30秒后播放到下一个?

编辑**

我能在30秒后关掉这首歌。但是我仍然不确定如何在之后换成新歌。

while pygame.mixer.music.get_busy(): 
    pygame.time.Clock().tick(30000)
    if pygame.time.delay(30000):
        break

我很感激帮助。

1 个答案:

答案 0 :(得分:1)

很好的音乐选择!

获取所有mp3文件名:

import os
for filename in os.listdir("/mydirectory"):
    if filename.endswith(".mp3"):
        file = filename

现在,在您播放音乐后:

pygame.mixer.music.play()

您可以通过以下方式等待30秒的音乐播放时间为:

while pygame.mixer.music.get_busy(): 
    pygame.time.Clock().tick(30000)
    # you can break out the loop and change the file to be played after this.