我一直在尝试使用 pyGame 播放声音,同时在后台循环播放音乐 -
我已经使用 Horts Jens 的演示代码对其进行了测试
import pygame
import os
pygame.mixer.pre_init(44100, -16, 2, 2048) # setup mixer to avoid sound lag
pygame.init() #initialize pygame
# look for sound & music files in subfolder 'data'
pygame.mixer.music.load(os.path.join('data', 'foxhaunt.ogg'))#load music
jump = pygame.mixer.Sound(os.path.join('data','scream.wav')) #load sound
fail = pygame.mixer.Sound(os.path.join('data','fail.wav')) #load sound
# play music non-stop
pygame.mixer.music.play(-1)
if "a" in answer:
jump.play()
print "playing jump.wav once"
elif "b" in answer:
fail.play()
print "playing fail.wav once"
elif "m" in answer:
if pygame.mixer.music.get_busy():
pygame.mixer.music.stop()
else:
pygame.mixer.music.play()
elif "q" in answer:
#break from gameloop
gameloop = False
else:
print "please press either a, b, m or q and ENTER"
发生的事情是呼叫pygame.mixer.music.play(-1)
工作正常,我听到音乐,但是呼叫jump.play()
并fail.play()
没有做任何事情。我什至尝试在通话后延迟sound>.play()
以确保有足够的时间完成声音播放 - 但仍然没有。
你对我应该寻找什么有想法吗?
该平台是运行 Wheezy 的 Raspberry Pi
pygame: 1.9.1release+dfsg-8 - python2.7-pygame python2.6-pygame
你能建议我如何让它工作或我应该检查什么以找出它为什么不工作?
干杯