用Python播放MP3文件
我正在尝试自己写一个媒体播放器(像Foobar那样),但是我在找一个可以播放MP3的Python库时遇到了困难。我知道Pymedia可以处理MP3文件,但它看起来有点过时——最新的安装包是为Python 2.4准备的,而我用的是2.6。我以前用Pygame没什么成功的经验,而Pyglet的文档似乎也不太多。还有其他的选择吗?
3 个回答
也许把你应用的那部分用 Python 2.4 单独写成一个“后台”会更简单。这样你就可以使用 PyMedia(你提到过的)来进行实际的播放。这种做法让你可以用另一个版本的 Python(比如 2.6)来写你的图形界面,这样程序的各个部分就能更独立,也能让界面运行得更流畅。
如果你只针对 Windows 平台,那么通过 COM 使用媒体播放器可能会有帮助:
我在Windows上用Python 2.6.5成功地使用了PyMedia。需要注意的是:文档写得很糟糕,很多教程都有明显的错误,或者根本无法使用,所以我不得不自己尝试和在网上查资料,才让我的代码正常工作。另外,不知道为什么,维护这个项目的人似乎在四年前就停止更新网站了,不过他们似乎还在做一些事情。
我在这里找到了安装包:http://www.lfd.uci.edu/~gohlke/pythonlibs/
他们网站上链接的那个半活跃的论坛里,有一些代码的维护者,偶尔会提供一些帮助。如果有人需要建议,我的用户名是jboyd99。
不知为何,这个库的重点是汽车音响系统,尽管它是一个功能相对全面的库,能做一些其他免费的Python库做不到的事情,比如把MP3文件读取成原始的PCM数据。这个库也有一些缺陷——我可能会用PyAudio或PyAudiere来实际播放,以便更好地控制同步问题。
你可以去看看 http://pyglet.org/,还有你试过 http://code.google.com/p/mp3play/ 吗?这个也可以在 PyPi 上找到,链接是 http://pypi.python.org/pypi/mp3play/。不过我觉得现在 mp3play 可能只支持 Windows 系统。
从最近的更新来看,过去几个月里有一些代码更新。