我正在寻找一个可以播放MP3和OGG并支持ALSA或类似功能的跨平台Python库

时间:2009-12-04 13:42:50

标签: python audio cross-platform alsa

有几种不同的音频库,但是,它们都不能满足我的确切需求:
- 它需要跨平台。
- 它需要能够在Linux下使用ALSA,PulseAudio或任何其他常见的默认混音器。
- 它需要能够自动检测采样频率。
- 它需要(相当)简单的使用,如果相反,有人可以给我一个额外的脚本,这将使我更容易被接受。
- 我唯一需要的功能是播放/暂停,寻求是一个很好的奖励。
- 它需要能够播放MP3和OGG。没有其他格式对我很重要。

到目前为止我尝试过的图书馆:
PyGame - 不支持检测歌曲的频率
PyAudiere - 很有前途,但只在Linux中加载OSS,我有严重的混音问题
内置模块 - 据我所知,不支持MP3和OGG
PyMedia--很有前途但很复杂。也无法找出它使用的混合设备。
PySonic - 依赖于闭源库。
PyQt4.phonon - 有希望,但不会发挥任何作用。出现以下错误:

gst_element_make_from_uri:断言`gst_uri_is_valid(uri)'失败

对此有任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:5)

使用gstreamer。


  
      
  • 它需要跨平台。
  •   
  • 它需要能够在Linux下使用ALSA,PulseAudio或任何其他常见的默认混音器。
  •   

检查 - 来自gstreamer网站:

  

GStreamer已被移植到一个广泛的地方   各种操作系统,处理器   和编译器。这包括但是   不限于Linux on i86,PPC,ARM   使用GCC。 Solaris on x86和SPARC   使用GCC和Forte,MacOSX,   Microsoft Windows使用MS Visual   开发人员和IBM OS / 400。

     

GStreamer可以与其他人建立联系   多媒体框架以便   重用现有组件(例如   编解码器)并使用平台输入/输出   机制:

     
      
  • Linux / Unix:OpenMAX-IL(通过gst-openmax)
  •   
  • Windows:DirectShow
  •   
  • MacOS X:QuickTime
  •   

  
      
  • 它需要能够自动检测采样频率。
  •   

好。

  
      
  • 它需要(相当)简单的使用,如果相反,有人可以给我一个额外的脚本,这将使我更容易被接受。
  •   

Gstreamer有很多文档和示例,以及一个强大的社区为您提供支持。

  
      
  • 我需要的唯一功能是播放/暂停,寻求是一个很好的奖励。
  •   
  • 需要能够播放MP3和OGG。没有其他格式对我很重要。
  •   

然后那些人不堪重负!

Go get yours