【问题标题】:I'm looking for a cross-platform Python library that can play MP3 and OGG and support ALSA or similar [closed]我正在寻找一个可以播放 MP3 和 OGG 并支持 ALSA 或类似的跨平台 Python 库 [关闭]
【发布时间】:2010-12-23 06:03:40
【问题描述】:

有几个不同的音频库,但是,它们都不能满足我的确切需求:
- 它需要是跨平台的。
- 它需要能够在 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)”失败

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

【问题讨论】:

    标签: python audio cross-platform alsa


    【解决方案1】:

    使用 gstreamer。


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

    检查 - 来自 gstreamer 网站:

    GStreamer 已被移植到广泛的 操作系统、处理器的范围 和编译器。这包括但 不限于 i86、PPC、ARM 上的 Linux 使用 GCC。 x86 和 SPARC 上的 Solaris 同时使用 GCC 和 Forte、MacOSX、 使用 MS Visual 的 Microsoft Windows 开发人员和 IBM OS/400。

    GStreamer 可以桥接到其他 多媒体框架,以 重用现有组件(例如 编解码器)并使用平台输入/输出 机制:

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

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

    好的。

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

    Gstreamer 有大量文档和示例,还有一个强大的社区可以为您提供支持。

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

    然后那些被淹没了!

    Go get yours!

    【讨论】:

    • 完美!我的音频在几分钟内就可以工作了!音频切换也轻而易举。非常感谢! :) 现在我想知道为什么在 wiki.python.org/moin/Audio/">this page... 上将 gstreamer 称为“平台相关”
    • 糟糕,StackOverflow 上显然不允许使用链接标签。
    • @DaVince:依赖平台的信息是2007-11-23 14:30:37添加的,也就是2年前。也许从那以后情况发生了变化。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-21
    • 2023-03-28
    • 2011-07-02
    相关资源
    最近更新 更多