0

我正在尝试用 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()

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

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

什么是一种优雅的方式来做到这一点?

非常感谢您的回复。

4

1 回答 1

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首先加载整个文件的对象不同。

于 2013-05-13T17:53:25.953 回答