Я пытался использовать 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()
, чтобы убедиться, что было достаточно времени для завершения воспроизведения звука, но все равно ничего.
У вас есть идеи, что мне искать?
платформа представляет собой Raspberry Pi под управлением Wheezy
pygame: 1.9.1release + dfsg-8 - python2.7-pygame python2.6-pygame
Можете ли вы подсказать, как я могу заставить это работать или что мне следует проверить, чтобы узнать, почему это не работает?
Ваше здоровье