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
关于Python pyglet AVBin - 如何安装 AVBin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10302873/