阅读提示:

本文已过时。

1 简介

虽然 TrueIce 音乐网提供了一个配套的 FTP,需要什么音乐可以在网页上浏览后再到 FTP 上下载,但总是觉得有些麻烦,于是写了个小程序直接根据网址下载相应的歌曲。不知道 TrueIce 音乐网是什么的朋友可以先到这里看看,顺便为 TrueIce 打个广告吧。

其实下载音乐的过程非常简单,首先根据用户输入的在线播放网址,从播放网址上下载 m3u 格式的播放列表,播放列表中包含了待播放的 mp3 文件的网址,然后根据那个网址再去下载需要的文件就可以了,主要繁琐的地方是界面的制作。wxWidget 有个比较诡异的地方,就是不允许工作线程调用修改界面元素的成员函数,也就是说,所有对界面的操作都必须在界面线程中完成,否则会出现一些不可预料的结果。为了给下载过程加一个进度条,我必须使用多线程,而下载线程又不能直接操作滚动条,于是就烦死了。

如果在 wxWidget 中写程序的话,这种情况我会创建一个用户自定义消息事件,然后通过这个事件通知界面线程刷新进度条,但在 wxPython 中我没找到如何定义自定义消息事件,于是我只好通过找一个没有被我使用的消息事件来传递我想要的消息了。找啊找,找到个 wxTimerEvent,于是就把它拿来用了,比较不优雅。如果有知道怎么处理这种情况的大牛,请告诉我更好的处理方式。毕竟这种情况并不算罕见,随便一个程序都会碰到这种情况。

2 使用方法

使用方法非常简单,在 TrueIce 音乐站上看到你想下载的歌曲的时候,右键单击“播放”的链接,选择“复制快捷方式”,然后把播放快捷方式粘贴到程序的相应输入框中,然后在“保存到”框中输入文件名,单击“确定”就可以开始下载了,如图:

trueicedown_main
trueicedown_progress

如果感兴趣的话,可以再编写一个 vbs 文件,这样就可以把该程序直接嵌到 IE 的右键菜单里,使用会方便一些。我不打算做这个工作,因为我没有 Windows。

3 安装方法

由于该程序是滇狐的一个练习性质的小程序,因此滇狐没有为该软件编写安装程序,在安装方面就不如普通应用程序那么方便了。为了使用这个工具,你至少需要安装这些东西:

3.1 安装 Python

Python 是什么东西,这里就不详细介绍了。由于该程序是使用 Python 编写的,因此安装一份 Python 是必不可少的。如果您的系统没有安装 Python 的话,请到 Python 的官方网站下载并进行安装。

3.2 安装 wxPython 库

该程序使用 wxPython 库编写,因此你还需要安装一份 wxPython,如果您的系统没有安装 wxPython 的话,请到 wxPython 的官方网站下载并进行安装。

3.3 安装 TrueIceDown

上软件安装完毕后,请到这里下载该程序的全部可执行程序,解压到一个文件夹下就可以用了。Windows 下直接双击 TrueIceDown.py 就能执行,Linux 下可以通过命令行直接执行。如果您在使用中遇到什么问题或有什么建议,请与滇狐联系