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