使用pygame播放音乐,但不播放声音


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上运行良好。

一些你可以尝试的东西:

  • 初始化整个pygamepygame.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)

投票给答案,如果它有效,如果不告诉我出了什么问题