如何玩游戏中的声音?

时间:2015-09-21 18:44:49

标签: python pygame

我正在尝试使用Pygame创建一个简单的游戏,我想在游戏时间内添加一些重复的游戏内声音。但是,当我应用这些代码时游戏停止运行:

def in-gameSounds():
    pygame.mixer.init()
    startTime = time.time()
    theFile = 'Sounds/gameSound.ogg'
    theFile2 = 'Sounds/gameSound2.ogg'
    pygame.mixer.music.load(theFile)
    pygame.mixer.music.play()
    playing = True
    while playing == True:
            while time.time() <= startTime + 457:
                time.sleep(0.01)
            pygame.mixer.music.stop()
            pygame.mixer.music.load(theFile2)
            while time.time() > startTime + 457 and time.time() <= startTime+ 3752:
                time.sleep(0.01)
            pygame.mixer.music.stop()
            for click in pygame.event.get():
                if click.type == pygame.KEYDOWN:
                    if click.key == pygame.K_ESCAPE:
                        playing = False
            startTime -= 3752
    pygame.mixer.quit()

2 个答案:

答案 0 :(得分:1)

您是否尝试过传递pygame.mixer.music.play()为-1的参数?这使它无限循环。从那里你可以使用pause(),unpause()和rewind()方法。

答案 1 :(得分:0)

您可以随时在程序顶部使用pygame.mixer.init()后跟pygame.mixer.music.play(-1),而不是将其放入函数中。由于()内的值为-1,意味着无限循环,音乐将继续播放,除非通过程序查杀,Ctrl-C等强制停止。

pygame.mixer.init()                         # Initiate pygame.mixer
pygame.mixer.music.load('song_name_here')   # Load song to play
pygame.mixer.music.set_volume(0.7)          # Change volume
pygame.mixer.music.play(-1)                 # Play song infinitely