Pygame,声音不播放
我正在尝试用pygame播放声音文件(.wav格式),但是每次启动时都听不到任何声音。
这是我的代码:
import pygame
pygame.init()
pygame.mixer.init()
sounda= pygame.mixer.Sound("desert_rustle.wav")
sounda.play()
我也尝试过使用通道,但结果还是一样。
16 个回答
13
sounda.play() 会返回一个对象,这个对象是用来播放声音的。通过这个对象,你还可以知道声音是否还在播放:
channela = sounda.play()
while channela.get_busy():
pygame.time.delay(100)
23
对我来说(在Windows 7上,使用Python 2.7和PyGame 1.9),我实际上需要去掉pygame.init()这个调用才能让它正常工作。或者如果保留pygame.init()的话,至少要在PyGame中创建一个屏幕。
我的例子:
import time, sys
from pygame import mixer
# pygame.init()
mixer.init()
sound = mixer.Sound(sys.argv[1])
sound.play()
time.sleep(5)
1
你的代码在我的电脑上(Mac OSX 10.5,Python 2.6.4,pygame 1.9.1)可以正常播放 desert_rustle.wav
。你用的是什么操作系统、Python版本和pygame版本呢?你能通过其他方式听到这个 .wav
文件吗?比如在Mac的终端里用 open
命令,或者在Windows控制台里用 start
命令加上文件名/路径,这样可以确认文件没有损坏吗?要解决你具体的问题(看起来和你给的代码无关),我们需要重现这个问题,还需要这些重要的细节。