之前一段时间一直在看安卓方面的知识,算是入门了吧,便想做一些东西出来,安卓的音乐播放器算是比较容易下手的,所以就开始做这个东西,经过一步步的完善,随后想加一个歌词,但是读取本地歌词比较麻烦,因为还要手动的把歌词文件复制到指定文件夹,所以想从网上去获取,然后保存到本地文件夹,以后读取也比较方便。可是,因为从网络上获取资源以前也没接触过,所以做起来完全不知道该怎么下手,百度了一下,找到了相关的文章,他们给的都是用百度音乐盒的API,所获取的歌词文件不适合我的算法的实施,所以我放弃了。然后不断地去找相关的项目源码,终于被我找到了。。

我从一个Android播放器项目中找到了一个用千千静听的API,从它那里获取的歌词资源完全符合我的算法实施,所以花了很长的时间去看它的源码。。好吧,还是没接触过网络编程,开始一点都看不懂,现在还是有一点的迷糊,但是大家不要害怕啦,虽然没看懂,但是我可以知道怎么去用它,而且我已经把它应用在了我的项目中,经过我的测试,歌词匹配成功率达到了95%,所以大家可以使用它。

好了其他的话我也就不多说了,现在开始给大家源码,我会对源码进行一定的说明,保证大家可以使用它,至于大家想看懂的想法,我就无能为力了。

获取歌词,总共使用到了三个类,一个是公有类作为接口,另外两个作为工具类。

公有类:GetLrc

工具类:LrcGet   HttpGet

在公有类GetLrc中,有一个接口方法public static List<String> getLrc(String title, String artist) ,返回值类型是List<String> ,参数是String类型的参数,title为歌曲名称,artist为歌手名,在List<String>中,存取的是歌词文件如下:

[00:00.98]全世界宣布爱你 - 孙子涵
[00:05.37]作词 孙子涵 作曲 孙子涵
[00:15.93]男 在躲过雨的香樟树下等你
[00:21.33]在天桥上的转角擦肩而遇
[00:25.71]制造每个邂逅的缘分累积

前面是时间,后面是内容,只需对它进行相应的解析就可以实现歌词显示了,也可以把它保存到本地文件中,不过我遇到了字符乱码问题,花了一段时间才解决,在下一篇文章中我会提供解决的方法,希望在大家遇到问题时可以帮助大家。

下载歌词这三个类,我把链接给大家,就不在这里贴代码了,太多了(^_^)

源码:

PS:需要添加一个jar包到工程中,dom4j.jar