获取千千静听歌词下载地址,Delphi 源码+Demo发布

之前做过通过千千静听歌词服务器下载歌词(Delphi版) 这个Demo程序,做完之后将主要过程封装在一个单元里了。

现在拿出来吧。也没有什么好保留的,呵呵。

主要封装了两个函数

function LrcListLink(Atrist,Title:string;Server:Integer):string;

function LrcDownLoadLink(LrcId:Integer;Atrist,Title:string;Server:Integer):string;

Atrist,Title就不用多说了,歌手和歌曲名。 Server参数是用来指定电信或网通歌词服务器的。0代表电信,1代表网通。

LrcDownLoadLink函数中的LrcID是通过LrcListLink函数获取到的一个XML中查找到得对应歌词的ID。

整个操作过程是这样的.

第一步,调用LrcListLink函数,返回的是一个String类型的URL,该地址为歌词服务器搜索到的歌词列表(XML格式),idhttp.Get即可获取。。

第二步,从XML歌词列表中选取歌词,将歌词对应的LrcID记录下来传给LrcDownLoadLink。

第三步,调用LrcDownLoadLink函数,返回URL,该地址即为第二步中选择的歌词的下载地址,idhttp.Get即可获取。

具体操作方法详见附件中的Demo

说明:由于Delphi7不支持Unicode所以做了GB2Unicode转码,而Delphi2009以上就支持Unicode了,直接使用了TEncoding类。

再一点,Delphi7中虽然转Unicode码实现了获取地址,但是歌词文件中若是包含Unicode字符时,则无法显示。如果有谁能解决Delphi7下

Unicode字符显示,烦请发一份Demo给我,在此先感谢了。

Demo中本人由于不太了解XML的操作类型,所以只是简单的字符串提取。囧TL。以后再改吧,不影响地址解析单元的使用。

--------------------------------毫--不--华--丽--的--分--割--线--------------------------------

/Files/lahcs/获取千千静听歌词下载地址.rar

--------------------------------毫--不--华--丽--的--分--割--线--------------------------------