【问题标题】:Pygame in-memory wave playbackPygame 内存波形回放
【发布时间】:2012-03-27 23:47:26
【问题描述】:

我正在使用 Python Wave 库生成波形,并使用自定义文件编写器将它们存储在内存中。但是,每当我尝试使用 Pygame 播放它们时,播放速度都非常慢。如果我将 exact same 对象保存到一个文件中,然后播放它,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()

有什么想法吗?

【问题讨论】:

    标签: python pygame wave


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-29
      • 2017-09-06
      • 2015-05-28
      相关资源
      最近更新 更多