Pygame mixer.music 無法讀取 mp3 流



我正在尝试用Python制作自己的音乐播放器,在寻找替代方案后,我决定使用pygame的mixer.music来实际播放音频。(我以前用过pygame,只是通常用于实际游戏(我一直在看播放声音,直到我意识到我需要一种方法来播放下一首歌,以及播放和暂停音频的能力。我还需要播放mp3文件,而不是大多数替代品所需的wav。事实上,我最初让它工作得很完美,直到我尝试添加其他不相关的功能,现在它说:

File "main.py", line 66, in playCurrentSong
mixer.load(path.join(museDir, currentSong))
pygame.error: Error reading the stream. (code 18)

(museDir是我对音乐文件所在目录的变量,mixer是我对pygame.mixer.music的变量,作为缩写(

我一辈子都不明白为什么它现在会给我这个错误,因为它以前播放的音频非常好。我的代码在这里:https://pastebin.com/V7nAfmK6

如果一个解决方案只适用于某个操作系统,我的最终操作系统将是Rasperry Pi上的Linux,但我正在尝试在Windows上编写和测试代码。但是,如果不可能的话,我理解。

事先感谢您的帮助;这让我头疼。

我刚刚找到了问题的根源。

在错误出现之前,我一直试图篡改mp3文件的元数据,以便在播放器中加入流派系统,但什么都不起作用。我最终决定使用csv文件来代替它。

然而,当我摆弄元数据时,我一定做错了什么,因为我在文件资源管理器中查看了mp3,它们都是0字节。这就是pygame无法读取流的原因:根本没有!我重新插上了pygame的东西,用新的MP3代替了MP3,现在它运行得很好。

不管怎样,谢谢你的帮助,托克斯!

最新更新