我制作了一个程序,使用python-pygame随机播放音乐。 当我尝试跑步时,音频无法播放... 顺便说一句,我认为问题是pygame,因为音量为MAX,即使播放.mp3
,也可以正常听到music.py
import pygame
import sys
import glob
from random import shuffle
x = glob.glob("sound/*.mp3")
shuffle(x)
print(x[1])
pygame.mixer.init()
pygame.mixer.music.load(x[1])
pygame.mixer.music.play(2)
while False:
x = 1
pygame.mixer.music.stop()
sys.exit()
答案 0 :(得分:1)
您似乎只想播放随机选择的一个文件。您想要这样的东西:
import pygame
import sys
import glob
from random import choice
allmusic = glob.glob("*.mp3")
played = choice(allmusic) #select randomly one element from the list
print(played) #print the name of the chosen file
pygame.mixer.init()
pygame.mixer.music.load(played)
pygame.mixer.music.play()
while pygame.mixer.music.get_busy():
pass
最后一个while
循环检查是否播放了音乐,并且在音乐结束之前不执行任何操作。目的是使程序保持活动状态,否则它将立即结束并终止音乐流。
请注意,您无法控制音乐,它会一直播放到最后,无法停止。要进行这种控制,您需要一个更复杂的脚本处理事件(通过键盘或您创建的自定义GUI界面,但这与您认为的问题相去甚远)。