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

3 投票
1 回答
1011 浏览
提问于 2025-04-15 16:41

有很多不同的音频库,但没有一个完全符合我的需求:
- 它需要支持跨平台使用。
- 它需要能在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格式。其他格式对我来说不重要。

那么这些需求都能满足!

快去获取吧

撰写回答