我在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
这是一个已知的问题,目前尚未解决。
https://github.com/pygame/pygame/issues/2435
Mixer init希望也能获得大小和通道,所以你必须这样做:
mixer.init(frequency=26500, size=-16, channels=2)
有关更多信息,请参阅pygame文档:https://www.pygame.org/docs/ref/mixer.html#pygame.mixer.init