您好,欢迎来到源码搜藏!分享精神,快乐你我!提示:担心找不到本站?在百度搜索“源码搜藏”,网址永远不丢失!
  • 首 页
  • 在线工具
  • 当前位置:首页 > 安卓源码 > 技术博客 >

    浅谈动感歌词-歌词解析篇

    时间:2017-01-12 21:39 来源:互联网 作者:源码搜藏 浏览:收藏 挑错 推荐 打印

    1引言 要解析动感歌词文件,首先就要清楚动感歌词的文件内容,当然歌词的文件内容,我们已经在分析篇的文章里面介绍过了,这里将不再做详细的介绍,当我们可以把歌词成功解析出来后,再结合歌词生成篇,一个简单的歌词格式转换工具也就出来了。 2歌词解析 歌

    1引言

    要解析动感歌词文件,首先就要清楚动感歌词的文件内容,当然歌词的文件内容,我们已经在分析篇的文章里面介绍过了,这里将不再做详细的介绍,当我们可以把歌词成功解析出来后,再结合歌词生成篇,一个简单的歌词格式转换工具也就出来了。

    2歌词解析

    歌词解析,其实就是把文件里面的标签内容、歌词时间和歌词内容解析出来,当然,为了后期拓展其它的动感歌词格式,我们这里要好好设计一番。

    2.1实体类

    2.1.1歌词读取器

    主要用来约束动感歌词读取器要实现的方法,可用于拓展实现其它的动感歌词格式。

    浅谈动感歌词-歌词解析篇
    浅谈动感歌词-歌词解析篇

    2.1.2歌词实体

    浅谈动感歌词-歌词解析篇

    2.1.3行歌词实体

    浅谈动感歌词-歌词解析篇

    2.1.4标签实体

    浅谈动感歌词-歌词解析篇

    2.2ksc解析

    2.2.1文件内容

    karaoke.songname := '你要的爱';

    karaoke.singer := '戴佩妮';

    karaoke.add('00:03.298', '00:06.771', '虽然经常梦见你', '467,215,195,936,282,568,810');

    karaoke.add('00:09.571', '00:12.105', '还是毫无头绪', '245,164,211,261,451,1202');

    karaoke.add('00:14.809', '00:16.626', '外面正在下着雨', '271,200,195,179,271,266,435');

    karaoke.add('00:17.245', '00:19.908', '今天是星期几', '195,143,175,379,758,1013');

    karaoke.add('00:20.492', '00:22.089', 'but don`t ', '179,190,286,942');

    2.2.2歌词读取器实体

    浅谈动感歌词-歌词解析篇

    2.2.3歌词解析部分代码

    浅谈动感歌词-歌词解析篇
    浅谈动感歌词-歌词解析篇

    2.3krc解析

    2.3.1文件内容

    [id:$00FF2B12]

    [ar:李健]

    [ti:美若黎明]

    [by:]

    [hash:e1c2628fad0a46f94df6b8b071df078f]

    [al:]

    [sign:]

    [qq:]

    [total:267096]

    [offset:10000]

    [language:eyJjb250ZW50IjpbXSwidmVyc2lvbiI6MX0=]

    [1679,1550]<0,399,0>作<399,200,0>词<599,250,0>:<849,301,0>李<1150,400,0>健

    [3229,1650]<0,350,0>作<350,300,0>曲<650,350,0>:<1000,350,0>李<1350,300,0>健

    2.3.2歌词读取器实体

    浅谈动感歌词-歌词解析篇

    2.3.3歌词解析部分代码

    浅谈动感歌词-歌词解析篇
    浅谈动感歌词-歌词解析篇

    2.4hrcx解析

    2.4.1文件内容

    [ti:右手戒指];

    [total:272706];

    [ar:金海心];

    [offset:0];

    [by:HappyPlayer-PC];

    haplayer.lrc('<1270,9630>','金海心 右手戒指','<1010,780,830,1410,800,1210,1410,910>');

    haplayer.lrc('<18710,19810>','la [la ]','<300,400,400>');

    haplayer.lrc('<20020,22840><77150,79970><163120,165840><191920,194740>','是你梦中的女郎','<200,300,400,300,510,500,610><310,400,300,510,400,400,500><200,510,400,400,410,500,300><210,400,300,400,400,510,600>');

    2.4.2歌词读取器实体

    浅谈动感歌词-歌词解析篇

    2.4.3歌词解析部分代码

    浅谈动感歌词-歌词解析篇
    浅谈动感歌词-歌词解析篇
    浅谈动感歌词-歌词解析篇

    3总结

    经过以上歌词的解析,我觉得酷狗的歌词解析起来是最为轻松的。

    不过歌词的解析的过程,大致可概括为如下几点:

    (1)读取文件内容,如果歌词内容加密的,要进行解密

    (2)以行分割文件内容,得到每一行的内容

    (3)匹配行内容,判断是标签行、还是歌词内容行

    (4)如果是标签行内容,则根据标签类型解析内容

    (5)如果是歌词内容行,则根据歌词格式解析歌词内容(主要用到正则表达式)

    5源码

    https://github.com/zhangliangming/LyricsAnalyze.git

    6最后

    因为不知道之前两篇的链接,无法打开,所以对之前的两篇进行了补充。

    下一篇,将介绍动感歌词的显示。如有侵权,麻烦告知。

    浅谈动感歌词-歌词解析篇转载http://www.codesocang.com/anzhuoyuanma/boke/34323.html
    标签:网站源码