5

首先,我是一名 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 相关联,这可以在其他操作系统上使用吗?

编辑:维基百科说的。

4

2 回答 2

2

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

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

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

于 2009-04-23T08:09:34.633 回答
1

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

于 2009-04-23T14:00:03.417 回答