Python导入pygame无法播放音频

时间:2020-01-03 13:11:27

标签: python-3.x pygame mp3

代码只是打印歌曲的名称,他完成后就不要停止 我的代码:

import glob
import os

os.environ['PYGAME_HIDE_SUPPORT_PROMPT'] = "hide"

import pygame

songs = glob.glob("C:\\Users\zivsi\Music\\*.mp3")
import random

song = random.choice(songs)
song_name = song.replace("C:\\Users\zivsi\Music\\", "").replace(".mp3", "")
print("song: ", song_name)

pygame.init()

pygame.mixer.music.load(song)
pygame.mixer.music.play()
while pygame.mixer.music.get_busy():
    pygame.time.Clock().tick(10)

我没有从pygame导入中使用* 因为它无法在def中完成

2 个答案:

答案 0 :(得分:0)

要停止音乐时,请使用pygame.mixer.music.stop()pygame.time.Clock().tick(10)计算自上次被调用以来的时间,并暂停程序直到1 /帧速率(在您的情况下,帧速率= 10)秒过去。因此,您的代码将一直运行到歌曲播放完毕为止。相反,如果您想暂停程序一段固定的时间并停止播放音乐,请使用time.sleep(),它以秒为参数。可能的例子:

import glob
import os
import time

os.environ['PYGAME_HIDE_SUPPORT_PROMPT'] = "hide"

import pygame

songs = glob.glob("C:\\Users\zivsi\Music\\*.mp3")
import random

song = random.choice(songs)
song_name = song.replace("C:\\Users\zivsi\Music\\", "").replace(".mp3", "")
print("song: ", song_name)

pygame.init()

pygame.mixer.music.load(song)
pygame.mixer.music.play()

time.sleep(10) #sleep for 10 seconds before moving on
pygame.mixer.music.stop()

答案 1 :(得分:0)

谢谢。我现在知道了。我的错误是: pygame.init()- 我需要 pygame.mixer.init()