import pygame
pygame.mixer.init()
pygame.mixer.music.load("only one.mp3")
pygame.mixer.music.play(0)
while pygame.mixer.music.get_busy():
pygame.time.Clock().tick(10)
当我运行代码时,没有声音,程序就像一秒钟结束。最初我没有while循环,直到我看到类似问题的答案中的建议。程序确实在我朋友的Windows系统上进入while循环,但不在我的Mac上,即使在我朋友的Windows系统上也没有任何声音。有人知道怎么解决吗?
答案 0 :(得分:12)
适用于Ubuntu 10.04和Pygame 1.9.1。
你可以尝试一些事情:
pygame.init()
pygame.display.set_mode((200,100))
pygame.event.get()
示例:
import pygame
pygame.init()
pygame.display.set_mode((200,100))
pygame.mixer.music.load("only one.mp3")
pygame.mixer.music.play(0)
clock = pygame.time.Clock()
clock.tick(10)
while pygame.mixer.music.get_busy():
pygame.event.poll()
clock.tick(10)
答案 1 :(得分:1)
import winsound
winsound.PlaySound(filename [as string with path if necessary], flag [integer z.B. 1 for asynchronous] )
这适用于 Windows 8和Python 2.7.6 以及 * .wav 文件
如果您键入winsound.
并查找自动填充列表,则可以检查不同的标记
标志就像SND_FILENAME
或类似
如果您在编辑器中键入它们:*winsound.SND_FILENAME
从上面的PLaySound
命令中获取要应用的整数
玩得开心
答案 2 :(得分:1)
尝试重新安装pygame或升级它 我的版本
1.9.1
已通过以下命令升级为1.9.3
pip install pygame --upgrade
注意:
如果使用easy_install安装它,它确实无法正常工作。不确定但是 当我尝试使用easy_install时,它无法正常工作
代码与您的相同,但我只是用我的音乐文件替换它来检查它 你可以在图片中看到它:
.wav文件似乎运行良好
我使用 .mp3 文件检查了它,发现它确实无法正常工作。 您可以将.mp3转换为.wav:Converter
或使用PyMedia
如果您不想使用任何网站进行转换 你也可以用pydub转换它。
您可以从此
下载pydub或者在命令行中输入以下命令:
pip install pydub
答案 3 :(得分:0)
通常,Pygame将不会播放mp3文件。您可以测试一下是否首先播放.wav和.ogg文件,以确保您的代码正确(基于您粘贴的内容,看来是正确的)。我建议将Pygame的mp3声音转换为ogg。
答案 4 :(得分:0)
你必须把这个加到最后,才能让 pygame 开心:
while True:
for event in pygame.event.get():
if event.type==QUIT:
pygame.quit()
sys.exit()
另外,导入系统。
答案 5 :(得分:-1)
如果你把mp3改成ogg格式会更容易,试试这个......简单
from pygame import *
pygame.init()
pygame.mixer.music.load("only one.ogg")
pygame.mixer.music.play(-1)
pygame.mixer.music.set_volume(0.3)
投票答案如果它的工作,如果没有告诉我什么是错的