0

我正在使用 Python Wave 库生成波形,并使用自定义文件编写器将它们存储在内存中。但是,每当我尝试使用 Pygame 播放它们时,播放速度都非常慢。如果我将完全相同的对象保存到一个文件中,然后播放它,pygame 会以正常速度播放它。

(某人缩写)代码:

pygame.init()
pygame.mixer.init(size=8, buffer=2048, frequency=44100) #Thats the correct freq, but it does the same regardless
x = pygame.mixer.Sound(obj) #Load the output of the wave writer
x.play()

有任何想法吗?

4

1 回答 1

1

根据您提供的详细信息,我最好的猜测是您没有为 pygame.mixer.init() 指定所有参数,或者指定了一些错误。您的评论坚持认为频率是正确的,但这不是这里唯一的因素。大小(8 位,无符号)是一个因素,通道也是一个因素(在您的代码中未提及,但根据 Pygame 文档默认为 2)。

当您创建波形,将其写入文件,然后让 Pygame 播放该波形文件时,所有必要的参数都由波形头定义。

因此,请仔细检查位宽(大小参数),指定通道参数,如果这不能解决问题,请编辑原始问题以指定用于编写波形文件的代码。

于 2012-03-11T07:12:14.113 回答