python - 在 Python 中播放和控制 mp3 文件?

标签 python audio mp3 audio-streaming

首先,我是一名 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 绑定(bind),但这是跨平台解决方案吗?我忘了提到这是一项要求。但我总是将 GStreamer 与 Linux 联系起来,这在其他操作系统上是否可行?

编辑:维基百科说 yes .

最佳答案

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

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

以上所有使用Python bindings对于GStreamer多媒体框架。绑定(bind)文档很少,但请查看 here , here , here ,以及来自源代码分发的示例 here .

关于python - 在 Python 中播放和控制 mp3 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/780711/

相关文章:

python - sympy 求解线性方程 XOR、NOT

python - 如何评估字符串作为变量名

python - 如何在 setup.py 中指定多个作者/电子邮件

c++ - 开源C/C++音频到文本库

python - Django:如何正确提供mp3文件

c++ - 如何在不下载整个文件的情况下从 mp3 文件中提取专辑封面

python - 在 Mac 上使用 pip 安装 nltk 时出现不支持的架构错误

java - 歌曲第一次播放但停止后不播放 : Clip in Java

ios - 按下按钮时播放随机的短声音

vb.net - 缺少依赖项时如何避免异常? (WMP控制)