Pyglet使用AVBin解码MP3。链接:http://avbin.github.com/AVbin/Download.html

使用提供的install.sh安装时,如果使用会导致错误:

'AVbin is required to decode compressed media')
pyglet.media.riff.WAVEFormatException: AVbin is required to decode compressed media

...因此安装不正确?使用python virtualenv,怀疑这可能会导致问题……尽管我在virtualenv中运行了AVBin的install.sh,如下所示:
(SoundShenanigans)user@computer:~/Downloads/avbin-linux-x86-64-v8$ sudo bash install.sh

更新

我发现安装了avbin的位置...似乎安装在正确的位置= S
~/pyvien/SoundShenanigans/lib/python2.7/site-packages/pyglet/media$ ls
avbin.py   drivers      __init__.pyc   procedural.pyc  riff.pyc
avbin.pyc  __init__.py  procedural.py  riff.py

更新2

该库是.so,而不是.dylib,为什么要.dylib神秘代码?这是Linux,而不是Mac(Mac具有.dylib,Ubuntu具有.so)
File "SoundShenanigans.py", line 4, in
  from pyglet.media import avbin
File "/home/user/pyvien/SoundShenanigans/local/lib/python2.7/site-packages/pyglet/media/avbin.py", line 53, in
  darwin='/usr/local/lib/libavbin.dylib')
File "/home/user/pyvien/SoundShenanigans/local/lib/python2.7/site-packages/pyglet/lib.py", line 122, in load_library
  raise ImportError('Library "%s" not found.' % names[0])
ImportError: Library "avbin" not found.

最佳答案

如何通过以下方式安装它:

sudo apt-get install libavbin-dev libavbin0

有关此软件包的更多信息:http://packages.ubuntu.com/source/avbin

编辑:看起来它不再包含在较新的ubuntu版本中。因此,您必须从https://avbin.github.io/AVbin/Download.html下载并通过安装
sudo sh ./install-avbin-linux-x86-64-v10

10-06 00:55