专栏名称: 蚂蚁金服ProtoTeam
数据前端团队
目录
相关文章推荐
51好读  ›  专栏  ›  蚂蚁金服ProtoTeam

自定义view解析歌词文件并同步显示

蚂蚁金服ProtoTeam  · 掘金  · 前端  · 2017-12-07 08:04

正文

请到「今天看啥」查看全文


考虑到歌词显示控件涉及到歌词解析,自定义控件的实现等等诸多方面,可能文章的篇幅上会比较冗长,同时也为了方便”简友”们能够根据自己的需求和爱好各取所需。我也就仿着我之前写的文章 《像360悬浮窗那样,用WindowManager实现炫酷的悬浮迷你音乐盒》 那样,将”用自定义View实现歌词显示控件”这篇文章也分成上、下两篇,分别是 《用自定义View实现歌词显示控件上篇之实现歌词文件解析》 和《用自定义View实现歌词显示控件下篇之自定义LyricView的实现》。而今天将要分享的是上篇,主要讲解关于*.lrc文件的解析,内容偏理论,所以本章最后我也不会附上Demo,至于下篇我会尽快整理分享出来,届时上下篇的Demo我会整合在一起共享出来。好吧,进入正题:

首先,了解歌词文件的组成

写过音乐播放器的朋友也应该都会去了解过歌词文件的规范格式,既然是歌词显示控件,就必然需要好好了解歌词文件的组成规范,才能准确无误的解析歌词文件,获得与我有用的信息。

[ti:一个人的北京]
[ar:好妹妹乐队]
[al:南北]
[by:]
[offset:0]
[00:00.10]一个人的北京 - 好妹妹乐队
[00:00.20]词:秦昊
[00:00.30]曲:秦昊
[00:00.40]
[00:30.16]你有多久没有看到 满天的繁星
[00:37.34]城市夜晚虚伪的光明 遮住你的眼睛
[00:44.40]连周末的电影 也变得不再有趣
[00:51.71]疲惫的日子里 有太多的问题
[00:59.21]
[01:00.96]你有多久单身一人 不再去旅行
[01:08.20]习惯下班回到家里 冷冰冰的空气
[01:15.58]爱情这东西 你已经不再有勇气
[01:22.64]情歌有多动听 你就有多怀疑
[01:30.60]许多人来来去去 相聚又别离
[01:38.29]也有人喝醉哭泣 在一个人的北京
[01:45.16]也许我成功失意 慢慢的老去
[01:52.76]能不能让我留下片刻的回忆
[01:58.95]
[01:59.67]许多人来来去去 相聚又别离
[02:07.23]也有人匆匆逃离 这一个人的北京
[02:14.30]也许有一天我们 一起离开这里
[02:21.86]离开了这里 在晴朗的天气
[02:28.38]
[02:58.98]你有多久单身一人 不再去旅行
[03:06.36]习惯下班回到家里 冷冰冰的空气
[03:13.55]爱情这东西 你已经不再有勇气
[03:20.69]情歌有多动听 你就有多怀疑
[03:28.53]许多人来来去去 相聚又别离
[03:36.22]也有人喝醉哭泣 在一个人的北京
[03:43.28]也许我成功失意 慢慢的老去
[03:50.82]能不能让我留下片刻的回忆
[03:57.64]许多人来来去去 相聚又别离
[04:05.25]也有人匆匆逃离 这一个人的北京
[04:12.31]也许有一天我们 一起离开这里
[04:19.88]离开了这里 在晴朗的天气
[04:26.62]许多人来来去去 相聚又别离
[04:34.24]也有人匆匆逃离 这一个人的北京
[04:41.37]也许有一天我们 一起离开这里
[04:48.87]离开了这里 在晴朗的天气
[04:55.08]
[04:56.27]让我拥抱你 在晴朗的天气

这如上述文本显示,是我在QQ音乐中下载的歌词文件,并用文本方式打开看到的一个结果。其实,所有歌词文件(*.lrc)都是以一个标准来进行制作的,就如同上述文件一样由以”[ti:”开头的标题、以”[ar:”开头的歌手、以”[al:”开头的专辑、以”[by:”开头的制作、以”[offset:”开头的时间偏移量和以”[mm:ss.ms]”开头的歌词信息组成,歌词信息则是由开始时间(分:秒.毫秒)和歌词内容两部分组成。







请到「今天看啥」查看全文