音乐播放器(3)--歌词显示

时间:2022-08-06 10:17:30

上两篇文章讲述了歌词的在线获取,数据的存储,这一片我们讲解一下歌词的显示

 我们现在是要在控制台下显示歌词,同时需要按照特定时间的时间显示出特定的歌词,标准的歌词形式如下:

[ti:红玫瑰]
[ar:陈奕迅]
[al:认了吧]
[by:|.傑…]
[00:01.64]红玫瑰
[00:04.95]陈奕迅
[00:06.07]《认了吧》
[00:11.08]|.傑…
[00:16.17]梦里梦到醒不来的梦
[00:18.82]红线里被软禁的红
............


当前也有一些歌词采用省略写法,如下面的这种:

[02:50.76][01:57.23]你的背包让我走的好缓慢
[02:58.64][02:05.09]总有一天陪着我腐烂
[03:05.61][02:12.54]你的背包对我沉重的审判
[03:22.09][03:13.57][02:20.39]借了东西为什么不还


现在我们需要做的是去解析歌词,将相应的歌词内容和时间提取出来,我们拿什么来保存提取出来歌词呢,考虑到歌词的先后顺序,使用TreeMap是再好不过了,TreeMap可以将放入的键值对按照键的大小排序,当然也可以自己重写排序方法,这里对于上述歌词中的第二种情况,可以直接分割后放入TreeMap,显示歌词的时候完全可以按照队列的相关操作,一直从最前面取歌词。


1 歌词的获取

歌词的操作不仅仅只是一个简单的提取,获取一首歌曲的歌词流程如下:

音乐播放器(3)--歌词显示



2 歌词的解析

我们可以根据歌词中的[]中括号当作歌词分割的标准,这个具体分割代码可以从下面地址找到。将分割后的歌词与时间保存在TreeMap中即可。

同时我们也可以加入一些有关歌词过滤的操作,这个大家可以自行添加。


相关代码大家可以直接到http://git.oschina.net/honest/terminal-play-music中查看


歌词获取解析结束,下一篇将会继续讲解音乐播放器(4)--Mp3歌曲播放与控制

转载请注明原帖地址:http://blog.csdn.net/dliyuedong/article/details/14648087