尝试加载MP3时PyGame错误

时间:2017-11-19 20:10:54

标签: python audio youtube pygame mp3

我的错误是:

    pygame.mixer.music.load("ytdl.mp3")
pygame.error: Error reading the stream. (code 18)

我想知道这意味着什么以及如何解决。我尝试使用youtube-dl下载歌曲时只会出现此错误(但我确定还有其他一些可能会导致此问题),然后尝试使用pygame.mixer.music.load("ytdl.mp3")加载文件。

如果我只是正常加载mp3文件中的文件,它可以正常工作。

如果您需要我的youtube-dl的代码:

    options = {
    'format': 'bestaudio/best',
    'extractaudio': True,
    'audioformat': "mp3",
    'outtmpl': 'ytdl.mp3',
    'noplaylist': True,
}

with youtube_dl.YoutubeDL(options) as ydl:
    ydl.download(['http://www.youtube.com/watch?v=' + url])

1 个答案:

答案 0 :(得分:1)

在pygame中,MP3支持有限。在某些系统上,不受支持的格式可能会导致程序崩溃。 Pygame与.ogg.mid和大多数.wav格式兼容。 最好的选择是使用任何编辑软件或在线转换器将音频文件转换为.wav格式,然后加载它。

pygame.mixer.music.load("ytdl.wav")

希望这可以解决您的问题。