【问题标题】:PyGame error when trying to load an MP3尝试加载 MP3 时出现 PyGame 错误
【发布时间】:2018-05-03 01:15:04
【问题描述】:

我的错误是:

    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])

【问题讨论】:

  • 可能是它下载了损坏的文件,或者 YT 发送的 HTML 带有它不喜欢机器人和脚本的消息 :)
  • 我忘了补充它在任何其他音频播放器(Groove 或其他东西...... windows 10)中都可以正常打开的问题
  • 它使用pygame,在PyGame's documentation 中您可以看到“请注意,MP3 支持是有限的。在某些系统上,不受支持的格式可能会导致程序崩溃”

标签: python audio youtube pygame mp3


【解决方案1】:

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

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

希望这能解决您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-12
    • 2014-07-28
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 2011-04-02
    • 2017-06-05
    • 1970-01-01
    相关资源
    最近更新 更多