问题描述
我在 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