Python pyglet AVBin - 如何安装AVBin

时间:2012-04-24 17:23:21

标签: python mp3 virtualenv pyglet

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.

8 个答案:

答案 0 :(得分:10)

如何通过以下方式安装:

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

答案 1 :(得分:8)

我在Windows上遇到了同样的问题,并且在Windows上没有安装python 2.7的安装程序。

如果您将avbin dll放在您的文件夹中(或使用安装程序全局安装),请写下:

pyglet.lib.load_library('avbin')
pyglet.have_avbin=True
输入pyglet之后

,像这样:

import pyglet
pyglet.lib.load_library('avbin')
pyglet.have_avbin=True

它会愉快地加载和使用avbin。

答案 2 :(得分:4)

我超级赛亚人把头撞在墙上,然后突破了它。

解决方案是安装STABLE版本,而不是最新版本。它需要的只是一点点

:~/Downloads/avbin-linux-x86-64-7$ sudo ./install.sh 

它有效。我认为他们与安装人员混在一起......

答案 3 :(得分:4)

对我来说,具体是从here安装AVbin 7。

AVbin 8和10似乎只是跑了,但没有任何声音出来。

运行32位Ubuntu 12.04。

答案 4 :(得分:3)

here下载特定的安装程序。

然后转到下载文件夹并使用sudo运行它。

例如在我的案例中,我运行了以下内容:

<div class ="row no-gutter">        
        <div class ="col-sm-12" style="margin:8px 0px 0px 0px;padding-left:8px;padding-right:8px;">                         
                <div class ="row">
                    <div class ="col-sm-6" style="margin:8px 0px 0px 0px;padding-left:30px;padding-right:30px;">
                        <div id="MainContent_UpdatePanelCentrifugeSpinAndStep" >                                   
                                            <div class ="row">                                                                                  
                                                <div class ="col-sm-4 text-center" style="margin:2px 0px 0px 0px;padding-right:0px;">
                                                    <div class="form-control input-md" >
                                                        <input id="MainContent_chkLastCycle"  type="checkbox" name="ctl00$MainContent$chkLastCycle" />
                                                        End Day Production Re-set
                                                    </div>
                                                </div>
                                            </div>

                                        </div>
                                    </div>                            
</div>

答案 5 :(得分:2)

我在Windows上遇到过这个问题并通过搜索引擎发现了这个问题,所以我想我会分享我的经验和解决方案。

我试图加载w WMV文件(至少是扩展名)并得到了与问题中描述的相同的异常,但我的问题是由于我使用'pip install pyglet'命令安装了pyglet,然后是AVBin安装人员。

为我解决的问题是从项目网站上找到的安装程序安装pyglet,它包含AVBin,然后一切正常。

答案 6 :(得分:2)

对我来说,我不得不手动将dll移动到正确的文件夹中 由于AVBin安装程序中存在错误,因此应将C:\Windows\System32安装在C:\Windows\SysWOW64内。{ (假设您使用的是Windows!

要解决此问题,您只需进入C:\Windows\System32并找到avbin.dll(或avbin64.dll,如果您使用的是64位系统)并手动剪切并粘贴它进入C:\Windows\SysWOW64

(或者,如果你是我,并下载了两个dll,那么移动两个......)

答案 7 :(得分:2)

我的操作系统 Windows10 64位

问题:

  

pyglet.media.riff.WAVEFormatException:解码压缩媒体需要AVbin

如何在Windows10上修复它:

  1. AVbin Downloads下载32位AVbin.dll 请注意:即使您使用的是64位Win10,64位AVbin dll也无法工作。
    所以请下载32位代替。

  2. 1.exe中的.exe将avbin.dll提取到windows/system32/文件夹中 请剪切/复制并粘贴到windows/system/文件夹。 它看起来windows10仅指32位AVbin而不是64位。

  3. 你很高兴。 试试吧!