我在寻找一个跨平台的Python库,可以播放MP3和OGG并支持ALSA或类似功能
有很多不同的音频库,但没有一个完全符合我的需求:
- 它需要支持跨平台使用。
- 它需要能在Linux下使用ALSA、PulseAudio或其他常见的默认混音器。
- 它需要能够自动检测音频的采样频率。
- 使用起来要(相对)简单,如果有人能给我一个额外的脚本,让我更容易使用,那也很好。
- 我只需要的功能是播放/暂停,能够快进快退就更好了。
- 它需要能播放MP3和OGG格式,其他格式对我来说不重要。
我到目前为止尝试过的库:
PyGame - 不支持检测歌曲的频率。
PyAudiere - 有希望,但在Linux下只加载OSS,这让我在混音时遇到严重问题。
内置模块 - 据我所知,不支持MP3和OGG格式。
PyMedia - 有希望,但比较复杂。我也找不到它使用了什么混音设备。
PySonic - 依赖于一个闭源的库。
PyQt4.phonon - 有希望,但什么都播放不了。出现了以下错误:
gst_element_make_from_uri: assertion `gst_uri_is_valid (uri)' failed
如果有人能提供帮助,我将非常感激。
1 个回答
4
可以使用gstreamer。
- 它需要支持多种平台。
- 它需要能够在Linux下使用ALSA、PulseAudio或其他常见的默认混音器。
确认一下 - 来自gstreamer官网的信息:
GStreamer已经被移植到多种操作系统、处理器和编译器上。这包括但不限于在i86、PPC、ARM架构上使用GCC的Linux,在x86和SPARC架构上使用GCC和Forte的Solaris,MacOSX,以及使用MS Visual Developer的微软Windows和IBM OS/400。
GStreamer可以与其他多媒体框架连接,以便重用现有的组件(例如编解码器)并使用平台的输入/输出机制:
- Linux/Unix: OpenMAX-IL(通过gst-openmax)
- Windows: DirectShow
- MacOS X: QuickTime
- 它需要能够自动检测采样频率。
好的。
- 它的使用需要(相对)简单,如果有人能给我一个额外的脚本,让我更容易使用,那也很好。
Gstreamer有很多文档和示例,还有一个强大的社区可以提供支持。
- 我唯一需要的功能是播放/暂停,能快进快退就更好了。
- 它需要能够播放MP3和OGG格式。其他格式对我来说不重要。
那么这些需求都能满足!