2014-05-01 155 views
4

什么是在python中播放MP3文件的好软件包?它需要被维护并且是跨平台的(Win,Mac,Linux),并且具有简单且可重复的调用结构,而不必在每次打开相同文件时执行复杂的设置(我使用声音各种循环,并且不必经常担心频道是否满或其他因素)。它也需要相对较小;我不想导入一个完整的GUI工具包,所以我可以播放一个小铃声并发出提示音。最后,它需要是非阻塞的;我需要它来播放一次文件,然后继续前进而不锁定整个程序。在python中播放声音文件

我一直在使用PyAudiere来播放来自python的MP3文件,因为它用来满足所有这些标准。不幸的是,这个软件包已经被放弃了,所以我需要找到一个替代品(PyAUDiere已经更新到python 2.6,如果你通过手动更改版本检查来破解它,它仍然可以工作在2.7,但这不是一个长期的解决方案,特别是找到一个包的副本现在很难)。

+0

我一直在环顾四周,似乎所有支持除PyGame之外的MP3的东西都已被放弃。这不可能是真实的。 – Elliot

回答

0

嗨尝试以下库:

  1. PyMedia

  2. pygame

  3. PyAudio

  4. pyglet

+0

PyMedia于2006年最后更新,比PyAudiere更早。 PyGame我已经知道了,但它是一个巨大的库,涵盖了从渲染到控件到声音的所有内容,并且仅仅是为了将警报平铺到程序中而严重矫枉过正(我简直就是在播放不同的声音,让人们知道各种各样的东西完成)。如果需要,我会使用它,但我希望减少一些重量。 – Elliot

+0

嗯..唯一的其他选择是pyglet ...并且像你说的那样真的很糟糕,因为没有相同的lighweight库! –

+0

Pyglet作为阻塞程序的子进程运行。 Pygame也是如此。 PyAudio以复杂的块状方式读取,这种方式很容易出现问题,并且无论如何不能在MP3上可靠地工作。有关示例,请参阅http://guzalexander.com/2012/08/17/playing-a-sound-with-python.html。 – Elliot