Pygame Play Sounds Blocking

时间:2013-05-12 08:23:22

标签: pygame

我正试着用pygame声音播放声音。我的代码是这样的:

from tkinter import *
import pygame
root= Tk()
pygame.init()
bass = pygame.mixer.Sound('sounds\\bass.wav')
snare = pygame.mixer.Sound('sounds\snare.wav')
crash = pygame.mixer.Sound('sounds\crash.wav')
bass.play()
snare.play()
crash.play()
root.mainloop()

当我运行此代码时,所有三个波形文件一起播放。

我想一个接一个地播放它们,并且可能控制每个连续声音之间的时差。

这是一种优雅的方式吗?

非常感谢您的回复。

1 个答案:

答案 0 :(得分:1)

pygame.mixer.music模块允许您对要播放的文件进行排队,但我不知道如何在声音之间指定缓冲区。

http://www.pygame.org/docs/ref/music.html#pygame.mixer.music.queue

pygame.mixer.music.load('sounds\bass.wav')
pygame.mixer.music.queue('sounds\snare.wav')
pygame.mixer.music.queue('sounds\crash.wav')
pygame.mixer.music.play()

请注意,mixer.music会传输音频,而mixer.Sound对象将首先加载整个文件。