Android解析歌词文件

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/chuyangchangxi/article/details/98590734

上一篇文章《Android歌词文件格式》中,介绍了几种不同的歌词格式。

现在着手开始解析。

一、目标

设计数据结构,并实现解析歌词文件。

二、开源项目

项目 描述
zhangliangming / HPLyrics 非常强大的歌词解析项目。
支持lrc、krc、ksc、网易云音乐歌词、……
非常完美!

写完了歌词解析功能才发现这么好的开源项目。

可惜重新造了一次轮子!

三、设计思路

1. 歌词

歌词由2个部分组成,LyricSongLyric。前者是独立的歌词,后者由多个Lyric组成,包括逐行歌词、卡拉OK歌词、翻译歌词、音译歌词等。

数据结构 描述
Lyric 歌词
SongLyric 歌曲歌词

2. Lyric

歌词由2个部分组成,标签属性和歌词内容。

标签属性存放在Map结构中,歌词还包括逐行歌词。

数据结构 描述
LyricRow 歌词行
LyricCell 逐行歌词的基本单位

3. Builder

Builder用来解析歌词。

有2种不同形式的歌词语法结构,分别为逐行和卡拉OK。

数据结构 描述
LyricBuilder Builder基类
LineBuilder 逐行歌词解析类
KalaokBuilder 逐字歌词解析类

4. KalaokTransformer

考拉OK逐字歌词的实现方式各不相同,网易云音乐和酷狗音乐的逐字歌词结构不同。

KalaokTransformer用来实现每行的具体解析。

数据结构 描述
KugouTransformer 酷狗音乐
NeteaseTransformer 网易云音乐

5. Parser

用来解析对应的格式。

四、代码地址

稍做整理后,会上传到GitHub,请稍候。

五、Finally

须菩提。
所谓佛法者。即非佛法。

展开阅读全文
博主设置当前文章不允许评论。

没有更多推荐了,返回首页