在Python中播放和控制mp3文件?
首先,我是一个Python初学者,之前主要用C++和Java做面向对象的编程。
我决定尝试Python来做我现在的项目,到目前为止我觉得还不错。不过,我遇到的一个问题是找不到合适的mp3模块。
我试过TkSnack,这个模块安装和运行都没有问题(只要我的音频设备没有忙),但它就是没法发出声音,完全没有反应……我上网查了资料,结果发现文档少得可怜,让我很失望。
于是我决定换一个。我试了PyMad,因为它在Ubuntu的标准库里也有。这个模块的文档更少,但我能让它播放声音。唯一的问题是,它需要一个循环来不断写入和播放音频缓冲区。我觉得这样处理播放控制特别麻烦,因为我得在一个单独的线程或进程中运行这个循环,还得控制暂停时的进度。这对我来说有点太底层了,我更喜欢TkSnack那种简单的命令,比如“mysound.play()”或“mysound.pause()”,而不是去控制一个循环。
我还看了pyMedia,感觉这个模块的文档更新得比较好,但我在我的电脑上安装不了。运行“python setup.py build”命令时总是出现“gcc exited with value 1”之类的错误。
所以我在寻找任何建议或者帮助,关于这些模块,或者其他完全不同的模块,最好是高层次、易于使用的mp3模块(最好也支持其他格式)。我想要基本的播放控制(暂停、停止、跳过、查找),而且将来可能还会涉及到文件流播放(如果我能做到的话)。
编辑:我喜欢Gstreamer的Python绑定,但这是一个跨平台的解决方案吗?我忘了提这个要求。不过我一直觉得GStreamer只适用于Linux,这在其他操作系统上能用吗?
编辑:维基百科说可以。