python - 将 MP3 转换为 WAV 时出现 2 个错误

标签 python mp3 wav python-module pyglet

我正在尝试使用 pyglet 模块播放 mp3 文件。 根据一些建议,我已经安装了 avbin64 并将 avbin64.dll 移动到我的 python 代码所在的目录。但我仍然收到 2 个错误

import pyglet

music = pyglet.resource.media('song.mp3')
music.play()

pyglet.app.run()

错误代码

Traceback (most recent call last):
  File "F:\PycharmProjects\test\venv\lib\site-packages\pyglet\media\codecs\wave.py", line 59, in __init__
    self._wave = wave.open(file)
  File "C:\Users\udit\AppData\Local\Programs\Python\Python37\lib\wave.py", line 510, in open
    return Wave_read(f)
  File "C:\Users\udit\AppData\Local\Programs\Python\Python37\lib\wave.py", line 164, in __init__
    self.initfp(f)
  File "C:\Users\udit\AppData\Local\Programs\Python\Python37\lib\wave.py", line 131, in initfp
    raise Error('file does not start with RIFF id')
wave.Error: file does not start with RIFF id

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "F:/PycharmProjects/test/test2.py", line 3, in <module>
    music = pyglet.resource.media('song.mp3')
  File "F:\PycharmProjects\test\venv\lib\site-packages\pyglet\resource.py", line 678, in media
    return media.load(path, streaming=streaming)
  File "F:\PycharmProjects\test\venv\lib\site-packages\pyglet\media\__init__.py", line 143, in load
    raise first_exception
  File "F:\PycharmProjects\test\venv\lib\site-packages\pyglet\media\__init__.py", line 133, in load
    loaded_source = decoder.decode(file, filename, streaming)
  File "F:\PycharmProjects\test\venv\lib\site-packages\pyglet\media\codecs\wave.py", line 109, in decode
    return WaveSource(filename, file)
  File "F:\PycharmProjects\test\venv\lib\site-packages\pyglet\media\codecs\wave.py", line 61, in __init__
    raise WAVEDecodeException(e)
pyglet.media.codecs.wave.WAVEDecodeException: file does not start with RIFF id

最佳答案

根据"Loading media" ,您应该使用 pyglet.media.load 打开音频(和视频)文件:

music = pyglet.media.load('song.mp3')

您还必须安装 ffmpeg,pyglet 才能读取 mp3 文件(按照 Supported media types )。请务必遵循 installation instructions .

关于python - 将 MP3 转换为 WAV 时出现 2 个错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57944760/

相关文章:

python - 如何使用 unicode 从 python 服务解析 JSON?语法错误 : Unexpected token u

python - 如何在 Flask-SQLAlchemy 应用程序中执行原始 SQL

python - 在列表项之后命名字典

python - 试图找出一个数字中有多少位是另一个数字的倍数

java - 我的 mp3 分割器程序出错?

java - 通过AudioSystem.getAudioInputStream(file)读取MP3文件出现异常

actionscript-3 - 如何从 ActionScript 3 中的缓冲区 (ByteArray/Stream) 播放 MP3 声音?

java :健全的交通问题

c# - 在 .net 中将 MIDI 转换为 .wav 文件

java - 将AWS Polly提供的ogg流保存到wav文件中