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.