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上也没有任何声音。有人知道怎么解决吗?
在Ubuntu 10.04和Pygame 1.9.1上运行良好。
一些你可以尝试的东西:
- 初始化整个pygame
pygame.init()
- i_4_got建议(创建显示)
pygame.display.set_mode((200,100))
- 在播放get_busy之间暂停(打勾)
- 循环内的轮询事件
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)
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
命令中应用的整数
玩得开心
Pygame声音不工作修复
信息
尝试重新安装pygame或对其进行升级我有版本
1.9.1
,我通过以下命令将其升级到1.9.3
pip install pygame --upgrade
注:
如果使用easy_install安装它,它将不起作用。不确定但是当我尝试easy_install时,它不起的作用
代码与您的代码相同,但我只是用我的音乐文件替换了它来检查它。
您可以在图像中看到它:
在这个图像中
.wav文件似乎运行良好
我用.mp3文件检查了它,发现它不起作用。您可以从:Converter 将.mp3转换为.wav
或者使用PyMedia
如果您不想使用任何网站进行转换
您也可以使用pydub进行转换。
您可以从这个下载pydub
链接
或者在命令行中键入此命令:
pip install pydub
通常Pygame不会播放mp3文件。你可以测试.wav和.ogg文件是否会先播放,以确保你的代码是正确的(根据你粘贴的内容,它似乎是正确的)。我建议将你的mp3声音转换为ogg for Pygame。
为了让pygame开心,你必须把它添加到最后:
while True:
for event in pygame.event.get():
if event.type==QUIT:
pygame.quit()
sys.exit()
此外,导入系统。
如果你把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)
投票给答案,如果它有效,如果不告诉我出了什么问题