Pygame mixer.music无法读取mp3流

问题描述 投票:0回答:1

我正在尝试使用Python制作自己的音乐播放器,并且在寻找了其他选择之后,我决定使用pygame的mixer.music实际播放音频。 (我以前使用过pygame,通常是在实际游戏中使用),而我一直在看playsound,直到我意识到自己需要一种一旦完成就可以播放下一首歌的方法,以及播放和暂停音频的能力。我还需要播放mp3文件,而不是大多数替代文件所需要的wavs。实际上,我本来可以使其完全正常运行,直到尝试添加其他不相关的功能,现在它的意思是:

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上编写和测试代码。但是,如果无法做到,我理解。

预先感谢您提供任何帮助;这让我头疼。

python audio pygame mp3 audio-player
1个回答
0
投票

我刚刚找到问题的根源。

在错误弹出之前,我一直在试图弄乱mp3文件的元数据,以便将类型系统整合到播放器中,但是没有任何效果。我最终决定为此使用csv文件。

但是当我搞乱那个元数据时,我一定做错了,因为我在File Explorer中查看了mp3,它们全都是0字节。这就是pygame无法读取流的原因:没有一个!我重新插入了pygame的东西,用新的替换了mp3,现在一切正常。

不过还是感谢您的帮助,Torxed!

© www.soinside.com 2019 - 2024. All rights reserved.