pygame.mixer.init() gvies 加载文件时出现奇怪的错误



我正在尝试通过pygame.mixer.music以更改的频率播放".mp3"文件。它在我的旧电脑上工作得很好。我最近将程序移动到我的新PC上,并给出以下错误:

pygame.error: Could not initialize MPEG stream.

有时我会得到:

pygame.error: failed loading libmpg123.dll: attempt to access invalid address.

这些错误交替发生(非常奇怪(。这些错误指向以下行:

pygame.mixer.load(m)

我注意到的另一件事是,如果以下语句,我的代码工作得很好:

pygame.mixer.init(frequency=26000)

改为:

pygame.mixer.init()

我的 pygame 版本在我的两台笔记本电脑中都是 1.9.6。python版本是旧版本3.7.x和新版本3.8.x。 整个代码如下:

def assistant_speaks(*texts):
for text in texts:
song_file = "temp.mp3"
speech = gTTS(text=text, lang='en-us', slow=False)
speech.save(song_file) 
audio_length = MP3(song_file).info.length
print(text2)
mixer.init(frequency=26500)
with open(song_file) as f:
m = mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ)
mixer.music.load(m)
mixer.music.play()
sleep(audio_length) 
mixer.music.stop()
mixer.quit()
pygame.quit()
m.close()
os.remove(song_file)

我多次尝试重新安装pygame。我使用崇高的文字和风筝来编码。我什至重新安装了python。

有关如何解决此问题的任何帮助将不胜感激。提前谢谢你! 或者您也可以建议我任何其他模块来更改频率和播放。

编辑:我已经能够通过单速执行python 3.8并安装python 3.7来使其工作。看起来这个问题只存在于python 3.8中。我应该报告这个吗?如何?

将 pygame 更新到 2.0.0.dev6 或更高版本。这应该可以解决问题。pip install pygame==2.0.0.dev6

相关内容

最新更新