Python 3.9 Pygame 混频器频率更改不起作用

问题描述

我在 Windows 操作系统笔记本电脑的 python==3.9.1 中使用 pygame(版本 = 2.0.1)。我使用 pygame.mixer 模块来播放我的 mp3 文件。我的代码

from time import sleep
from pygame import mixer

audio_length = 5.184

mixer.init(frequency=26500)
# mixer.init(frequency=44100)
mixer.music.load("Test.mp3")

mixer.music.play()
sleep(audio_length)
mixer.music.stop()

mixer.quit()

上面的代码没有错误但是无论我在mixer.init()中设置什么值,音频都以相同的认频率播放。

这似乎很奇怪,因为上面的代码在 python 3.7 和 pygame 1.9.6 中工作得很好(随着频率的变化)

我是在考虑升级我的 python 版本后才意识到这一点的。

这是我必须报告的错误吗?在这种情况下,我该如何进行?

或者...只是我没有遵循 python 3.9 中的新方法

如果需要我用于测试的文件,您可以从https://drive.google.com/file/d/1vd7aO5ahFBHfoT97_0RSBU4reNAWseB6/view?usp=sharing

下载

解决方法

Mixer init 还希望获得大小和通道,因此您必须这样做:

mixer.init(frequency=26500,size=-16,channels=2)

有关详细信息,请参阅 pygame 文档:https://www.pygame.org/docs/ref/mixer.html#pygame.mixer.init