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

2023-11-26

首先,我是一名 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(最好也是其他格式)来说是高水平且易于使用的,我正在尝试进行基本的播放控制(暂停、停止) ,跳过,寻找),我最终也可能会流式传输文件(如果我到达那里)。

EDIT:我喜欢 Gstreamer 的 python 绑定,但这是一个跨平台解决方案吗?我忘了提到这一点是一项要求。但我总是将 GStreamer 与 Linux 关联起来,这在其他操作系统上也能工作吗?

EDIT: 维基百科说yes.


抱歉,我无法帮助您使用 PyMad 或 pyMedia,但我有其他建议。

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

  • Exaile
  • FUPlayer
  • Listen

以上所有内容均使用Python 绑定为了GStreamer多媒体框架。绑定的文档很少,但请检查here, here, here,以及来自源代码分发的示例here.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Python中播放和控制mp3文件? 的相关文章

随机推荐

  • 将字符集转换为 nfa/dfa 的高效算法

    我目前正在研究扫描仪生成器 发电机已经工作正常 但是当使用字符类时 算法会变得非常慢 扫描仪生成器生成 UTF8 编码文件的扫描仪 应支持完整范围的字符 0x000000 到 0x10ffff 如果我使用大字符集 例如任何运算符 或 uni
  • iframe 内容在 Firefox 上消失

    我正在用基本的 HTML 填充一个空的 iframe 使用 iframe contents find body html contentBody See http jsfiddle net UjT2b 2 这在 Chrome 上效果很好 在
  • Mapbox gl js - 重叠图层和鼠标事件处理

    是否有任何清晰可靠 和描述 的机制来控制 Mapbox GL JS 中重叠图层的鼠标事件 例如 我有 3 个重叠的层 但希望仅对顶部的层调用单击处理程序 而不是对所有 3 个层调用 这是否可能 目前 作为解决方法 我跟踪 MouseEnte
  • Jpgraph 不会改变我的条形图上的颜色

    我刚刚开始使用 jpgraph 和 XAMPP 我想制作一个条形图 当我在网上阅读一些文章时 它说您可以传递一系列颜色来设置填充颜色 以便每个条形都具有不同的颜色 然而 每当我传递它的颜色时 图表都不会改变其默认的浅蓝色颜色 图表响应数据的
  • 扩展 prestashop web 服务资源

    我正在尝试延长carts多一个字段的资源应输出以下结果Cart getSummaryDetails称呼 我已经延长了CartCore类添加新参数和相应的方法 如下所示 class Cart extends CartCore protecte
  • MS Access 通过文本框而不是下拉列表搜索记录

    我对 MS Access 还很陌生 我正在尝试创建一个简单的表单 基本上将使用文本框而不是下拉框搜索特定记录 本质上 用户将能够输入 ID 号并检索一些其他相关信息 但是 我不希望用户能够向数据库添加任何新记录 我已经能够让表单看起来像我想
  • 使用 Javascript 转到本地 URL

    同样的问题here但我需要在 Firefox 中访问本地 URL 我尝试使用类似的代码 var url file E Test Test htm window location href url 但 id 不起作用 尝试去与window l
  • PHP PDO 缓存

    我一直在寻找这个问题的答案 但没有在任何地方找到 对 PDO prepare 的调用是否已缓存 或者我应该自己缓存结果 即如果我执行以下操作 function foo handle PDO prepare do stuff with the
  • SQL Server ORDER BY 日期和最后的空值

    我正在尝试按日期订购 我希望最近的日期排在最前面 这很简单 但是有许多记录为空 并且这些记录位于任何具有日期的记录之前 我尝试了一些方法但没有成功 ORDER BY ISNULL Next Contact Date 0 ORDER BY I
  • 更改 PreferenceActivity 文本颜色

    我想将 Android 应用程序的首选项屏幕的外观更改为深色文本颜色 我怎样才能做到这一点 我已经将背景更改为白色 我假设您使用一个 Activity 来扩展PreferenceActivity 您可以使用setTheme方法在您的首选项屏
  • 使用 web.config 允许服务器端包含在 HTML 文件中 (IIS)

    在IIS 7 5中 是否可以使用网络配置单独启用SSI处理具有以下内容的文件 html扩大 具体来说 我不想使用默认的 SSI 扩展 shtml Reason 我不想更改扩展名 这样做会导致搜索引擎结果中的链接损坏 另外 我这样做的动机是网
  • asp.net core 2.0中的机器密钥?

    我有相同的 asp net core 2 应用程序在 2 个不同的服务器上运行 但使用相同的数据库来存储用户等 问题是 如果我在一台服务器中创建并设置用户密码 则运行同一应用程序的另一台服务器将返回无效密码 反之亦然 几年前 我在使用 AS
  • 用于平铺列表视图的 WPF 工具包

    我需要创建格式良好的按钮图块 例如 Windows 8 起始页 是否有任何工具包可用于自定义 ListView 它可能支持平铺视图或网格视图 具有一些格式设置 并且可能有一些动画选项 我尝试创建自己的自定义列表视图 但这似乎是一项复杂的任务
  • 如何避免 super() 无限递归?

    我有这样的代码 class A object def init self self a 1 class B A def init self self b 2 super self class self init class C B def
  • 如何输入带密码的命令进行git pull?

    我想在一行中执行此命令 git pull my passphrase 怎么做 这并不完全是您所要求的 而是针对 http s 的 您可以将密码放在 netrc 文件中 Windows 上为 netrc 从那里它会被自动拾取 它将进入您的主文
  • 如何使用 jQuery Migrate 插件

    我正在使用 jquery 2 0 但还想使用 jQuery migrate 插件 以便我的网站可以在旧版浏览器上运行 然而 我一直没能成功地让它发挥作用 我的 html 标题部分有以下内容
  • 如何拦截具有标准 java 功能(无 AspectJ 等)的方法调用?

    我想拦截对某个类 MyClass 的所有方法调用 以便能够对某些 setter 调用做出反应 我尝试使用动态代理 但据我所知 这只适用于实现某些接口的类 但MyClass没有这样的接口 除了实现包装类之外 是否还有其他方法将所有调用委托给成
  • “列表”对象没有属性“查找”

    我知道这是一个基本问题 但我是 python 新手 不知道如何解决它 我有一个类似于下一个示例的列表 entities 1 IFCORGANIZATION Autodesk Revit 2014 ENU 5 IFCAPPLICATION 1
  • Android Https Web 服务通信 (SSL / TLS 1.2)

    在我的 Android 应用程序中 我必须与 https Web 服务进行通信并读取响应 我已经通知服务器配置了SSL with TLS 1 2 我使用以下示例代码来连接服务 https get 请求 但仅限运行的设备安卓5 0或以上可以成
  • 在Python中播放和控制mp3文件?

    首先 我是一名 Python 初学者 具有典型的面向对象知识的 C Java 背景 我确信要尝试使用 Python 来完成我当前正在做的工作 到目前为止我很喜欢它 我遇到的一个问题是找到一个好的 mp3 模块 我尝试过 TkSnack 它安