用python写自己的linux音乐播放器

  用linux学习和工作一年多了,已经完全习惯它的操作方式。可是我还是不得不说,在操作方便和易用性上面,它还是和windows有一定差 距。就拿播放音乐来说,用mplayer或gmplayer,播放一首音乐或一张专辑我都需要点很多按钮,做很多操作,还不能在播放列表中随意切换,不能 随意把一首歌加到播放列表的某个位置,不能随意排列播放列表。这些都和微软的wmp有很大差距。

  所以一直以来就想重新写一个图形化工具把mplayer封装起来,加入一些wmp的功能,加入媒体库和播放列表。尤其这段时间了解了python,这种想法更强烈了。所以前段时间下决心用简单的python-gtk 做ui,用pysqlite做媒体库的后台数据库。

  自己写这样的工具之前我还是先到网上搜索,看看有没有类似的开源工具,免得做重复工作。在mplayer网站上发现了好多第三方开发的 frontend。其中,pygme、pymp和mpxtended是用pygtk开发的,基本和我的想法一致。但它们都处于未完善的状态,pymp的网 站我一直上不去,不知道怎么样,mpxtended在我这也不好用,放一首歌的时候不知怎么界面就卡死了,而且有些按钮也是没有动作的。唯一做得很不错的 是pygme,在播放音乐和列表方面比gmplayer方便得多了,而且界面还比较简洁。

  但是它的很多功能不完善,尤其是媒体库方面。而且开发者自2005年9月就停止更新了,致使sourceforge上的0.0.6版还是个不稳定的版本,存在很多bug和问题。

  pygme官方网站

  

  我要写的东西,一是完善它的功能,参照windows media player,在这个界面的左边加上一个树形列表,可以按艺术家分类浏览,按唱片集浏览等,二是试图让它满足不同人和不同linux发行版的需要,因为我见过的linux播放器都要么依赖这个库,要么依赖那个库,要么基于mplayer,要么基于gstreamer,不但安装有麻烦,而且播放的时候也有各种各样的问题,比如原本我的机器上装了mplayer,可装了个界面友好的播放器偏偏基于gstreamer,而我的gstreamer又放不了wma、real和flv。所以我希望我的播放器可以很容易地被hack和扩展。