【问题标题】:Playing and controlling mp3 files in Python?在 Python 中播放和控制 mp3 文件?
【发布时间】:2010-10-21 07:27:14
【问题描述】:

首先,我是一名 Python 初学者,具有典型的 C++/Java 面向对象方面的背景。

我被说服尝试使用 Python 来完成我目前正在进行的这项工作,到目前为止我很喜欢它。我遇到的一个问题是找到一个好的 mp3 模块。

我尝试过 TkSnack,它安装并运行良好,没有错误(只要我的音频设备不忙),但它实际上永远无法发出声音,它什么也没做......我上网寻求帮助,并对文档的数量感到失望。

所以我决定换。我尝试了 PyMad,因为它也在 Ubuntu 的标准存储库中。这方面的文档更少,但我可以让它播放声音。唯一的问题是它需要一个循环来不断地写入/播放音频缓冲区。这使得处理播放控制(在我看来)特别麻烦,因为我必须在单独的线程或进程中运行它,并以某种方式控制暂停等的查找位置。这对于我使用 Python 的原因来说有点太低了。我喜欢 TkSnack 的简单性,因为它使用“mysound.play()”或“mysound.pause()”等简单的命令而不是控制循环。

我还查看了 pyMedia,它看起来是最新的文档,但我无法将它安装在我的机器上。运行“python setup.py build”命令时出现“gcc exited with value 1”错误或类似的错误。

所以我正在寻找有关这些模块之一的任何建议或帮助,或者完全不同的模块,它是高级且易于使用的 mp3(最好是其他格式)我正在尝试进行基本的播放控制(暂停,停止,跳过,搜索),我最终也可能会流式传输文件(如果我到达那里的话)。

编辑:我喜欢 Gstreamer 的 python 绑定,但这是一个跨平台的解决方案吗?我忘了提到这是一个要求。但我总是将 GStreamer 与 Linux 相关联,这可以在其他操作系统上使用吗?

编辑:维基百科说yes

【问题讨论】:

    标签: python audio mp3 audio-streaming


    【解决方案1】:

    抱歉,我无法在 PyMad 或 pyMedia 方面为您提供帮助,但我有其他建议。

    用 Python 编写的现有音乐播放器:

    以上所有使用Python bindingsGStreamer 多媒体框架。绑定的文档很少,但请查看hereherehere 以及源代码分发版here 中的示例。

    【讨论】:

    • 我喜欢与 GStreamer 通信的想法,因为这就是大多数音频/视频程序在 linux 中的工作方式。但是如果我想让它跨平台,它仍然适用吗?
    【解决方案2】:

    我只需要处理这个问题,根据我的研究,我认为你最好的选择是 pygletpygame。它们是具有内置 a/v 支持的接口包。

    【讨论】:

    • pyglet 看起来很有希望,接下来几天我有点太忙了,无法尝试使用它来实现。但如果我这样做了,我会告诉你的。
    猜你喜欢
    • 2017-06-29
    • 1970-01-01
    • 2010-12-20
    • 1970-01-01
    • 2014-11-21
    • 1970-01-01
    • 2016-05-08
    • 1970-01-01
    相关资源
    最近更新 更多