我正在使用Python Wave库生成wave,并使用自定义文件writer将它们存储在内存中。但是每当我尝试用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()
有什么想法吗?
答案 0 :(得分:1)
根据您提供的详细信息,我最好的猜测是您没有为pygame.mixer.init()指定所有参数,或者指定了一些错误的参数。您的评论坚持频率是正确的,但这不是唯一的因素。大小(8位,无符号)是一个因子,通道(代码中未提及但根据Pygame文档默认为2)。
当您创建wave时,将其写入文件,然后要求Pygame播放该wave文件,所有必要的参数都由wave标头定义。
因此,仔细检查位宽(大小参数),指定channels参数,如果这不能解决问题,请编辑原始问题以指定用于写入波形文件的代码。