pygame中没有声音播放

时间:2019-06-05 14:30:10

标签: python pygame

我制作了一个程序,使用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()

1 个答案:

答案 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界面,但这与您认为的问题相去甚远)。