一种解析歌词并使其与歌曲同步播放的装置及方法制造方法及图纸

技术编号:6347544 阅读:225 留言:0更新日期:2012-04-11 18:40
本发明专利技术揭示了一种解析歌词并使其与歌曲同步播放的装置及方法,首先建立歌词解析器,定义所述歌词解析器的数据结构,使其能够记录歌词文件的所有有效信息;然后通过所述歌词解析器逐行解析,并将解析得到的结果保存到所述解析器数据结构中形成歌词数据结构数组;再对得到的所述歌词数据结构数组以时间大小为基准点进行排序;最后根据所述歌词文件内容的顺序调整所述歌词数据结构数组,并将当前播放时间与所述歌词文件包括的时间进行比较,实现歌曲和歌词的同步播放。

【技术实现步骤摘要】

本专利技术涉及嵌入式多媒体领域,特别涉及一种解析歌词并使其与歌曲同步播放 的装置及方法。
技术介绍
近年来,随着科技水平和经济的发展,人们对精神生活的要求也越来越高。作 为多媒体技术的代表,音乐一直以来都为全世界的人们所喜爱。传统的音乐多来自于电 脑、Mp3播放器等,随着移动手持设备的普及,越来越多的人倾向于用手机来听音乐。 在繁忙工作后的闲暇之余,插上耳机欣赏美妙的音乐,已为大家所接受。如果再加上歌 词的同步显示,手机音乐将更具魅力。LRC歌词是一种包含着“”形式的“标签(tag)”的、基于纯文本的歌词 专用格式。这种歌词文件既可以用来实现卡拉OK功能(需要专门程序),又能以普通的 文字处理软件查看、编辑。当然,实际操作时通常是用专门的LRC歌词编辑软件进行高 效编辑的。
技术实现思路
本专利技术的目的是提供,其能 实现在手机播放歌曲时同步显示歌词。一方面,本专利技术提供一种解析歌词并使其与歌曲同步播放的方法,其适用于手 机中,包括以下步骤Si、建立歌词解析器,定义所述歌词解析器的数据结构,使其能够记录歌词文 件的所有有效信息;S2、打开歌词文件,通过所述歌词解析器逐行解析,并将解析得到的结果保存 到所述解析器数据结构中形成歌词数据结构数组;S3、删除所述歌词数据结构数组中的冗余及错误信息;S4、对得到的所述歌词数据结构数组以时间大小为基准点进行排序;S5、根据所述歌词文件内容的顺序调整所述歌词数据结构数组,并将当前播放 时间与所述歌词文件包括的时间进行比较,实现歌词的同步播放。所述步骤Sl中还包括以下步骤SlU分析所述歌词文件的组成;S12、根据所述歌词文件的组成,自定义适合记录所述歌词文件有效信息的歌词 解析器的数据结构。所述步骤S2中还包括以下步骤S21、打开歌词文件,得到其编码格式;S22、逐行解析所述歌词文件的时间标签,忽略标识标签中offset字段以外的字 段;S23、若解析出错,得到了不合法的时间,则进行出错处理;S24、将解析得到的时间标签和对应的歌词文本存储到所述歌词解析器数据结构 中形成歌词数据结构数组。所述步骤S4中还包括以下步骤S41、以步骤S3得到的时间为基准点,使用冒泡排序法对所述歌词数据结构数 组进行排序;S42、如果出现同一时间对应不同歌词,则进行出错处理。所述步骤S5还包括以下步骤S51、将外部歌曲重命名为与所述歌词文件同名,或者将所述歌词文件重命名为 与外部歌曲文件同名,本步骤不包括对文件后缀名的重命名;S52、获取手机播放器正在播放歌曲的播放时间;S53、所述手机平台定时刷新函数render,同名歌曲的当前播放时间与歌词索引 所指时间进行对比,若播放时间不小于索引所指时间,则该句歌词高亮显示;否则,索 引进行自增,等到下一次刷新时再行比较。另一方面,一种解析歌词并使其与歌曲同步播放的装置,其适用于手机中,包 括歌词解析器,所述歌词解析器具有的数据结构能够记录歌词文件的所有有效信 息;解析单元,用以打开歌词文件,并通过所述歌词解析器逐行解析,将解析得到 的结果保存到所述解析器数据结构中形成歌词数据结构数组;整合单元,用以删除所述歌词数据结构数组中的冗余及错误信息;排序单元,用以对得到的所述歌词数据结构数组以时间大小为基准点进行排 序;同步单元,用以根据所述歌词文件内容的顺序调整所述歌词数据结构数组,并 将当前播放时间与所述歌词文件包括的时间进行比较,实现歌词的同步播放。所述歌词解析器还包括以下模块分析所述歌词文件的组成的模块;根据所述歌词文件的组成,自定义适合记录所述歌词文件有效信息的歌词解析 器的数据结构的模块。所述解析单元还包括以下模块用以打开歌词文件得到其编码格式的模块;用以逐行解析所述歌词文件的时间标签,忽略标识标签中offset字段以外的字段 的模块;用以解析出错得到了不合法的时间时,进行出错处理的模块;用以将解析得到的时间标签和对应的歌词文本存储到所述歌词解析器数据结构 中形成歌词数据结构数组的模块。所述排序单元还包括以时间为基准点,使用冒泡排序法对所述歌词数据结构数组进行排序的模块;负责当出现同一时间对应不同歌词时,进行出错处理的模块。所述同步单元还包括重命名模块,用以将外部歌曲重命名为与所述歌词文件同名,或者将所述歌词 文件重命名为与外部歌曲文件同名,所述重命名模块不支持文件后缀名的重命名;取时模块,用以获取手机播放器正在播放歌曲的播放时间;比较模块,用以当所述手机平台定时刷新函数render时,同名歌曲的当前播放 时间与歌词索引所指时间进行对比,若播放时间不小于索引所指时间,则该句歌词高亮 显示;否则,索引进行自增,等到下一次刷新时再行比较。采用本专利技术所述的,首先建 立歌词解析器,定义所述歌词解析器的数据结构,使其能够记录歌词文件的所有有效信 息;然后通过所述歌词解析器逐行解析,并将解析得到的结果保存到所述解析器数据结 构中形成歌词数据结构数组;再对得到的所述歌词数据结构数组以时间大小为基准点进 行排序;最后根据所述歌词文件内容的顺序调整所述歌词数据结构数组,并将当前播放 时间与所述歌词文件包括的时间进行比较,实现歌曲和歌词的同步播放。附图说明图1为本专利技术所述方法的主流程图;图2为本专利技术所述方法一实施例的流程图;图3为本专利技术所述的循环定时刷新步骤的流程图。具体实施例方式下面结合附图和实施例进一步说明本专利技术的技术方案,本实施例是通过适用在 手机上进行说明的。参见图1,本专利技术提供一种解析歌词并使其与歌曲同步播放的方法100,其适用 于手机中,包括以下步骤Si、建立歌词解析器,定义所述歌词解析器的数据结构,使其能够记录歌词文 件的所有有效信息。作为一实施例,所述步骤Sl中还包括以下步骤SlU分析所述歌词文件的组成。S12、根据所述歌词文件的组成,自定义适合记录所述歌词文件有效信息的歌词 解析器的数据结构。S2、打开歌词文件,通过所述歌词解析器逐行解析,并将解析得到的结果保存 到所述解析器数据结构中形成歌词数据结构数组。作为一实施例,所述步骤S2中还包括以下步骤S21、打开歌词文件,得到其编码格式。S22、逐行解析所述歌词文件的时间标签,忽略标识标签中offset字段以外的字 段。S23、若解析出错,得到了不合法的时间,则进行出错处理。S24、将解析得到的时间标签和对应的歌词文本存储到所述歌词解析器数据结构 中形成歌词数据结构数组。S3、删除所述歌词数据结构数组中的冗余及错误信息。S4、对得到的所述歌词数据结构数组以时间大小为基准点进行排序。作为一实施例,所述步骤S4中还包括以下步骤S41、以步骤S3得到的时间为基准点,使用冒泡排序法对所述歌词数据结构数 组进行排序。S42、如果出现同一时间对应不同歌词,则进行出错处理。S5、根据所述歌词文件内容的顺序调整所述歌词数据结构数组,并将当前播放 时间与所述歌词文件包括的时间进行比较,实现歌词的同步播放。作为一实施例,所述步骤S5还包括以下步骤S51、将外部歌曲重命名为与所述歌词文件同名,或者将所述歌词文件重命名为 与外部歌曲文件同名,本步骤不包括对文件后缀名的重命名。 S52、获取手机播放器正在播放歌曲的播放时间。S53、所述手机平台定时刷新函数render,同名歌曲的当前播放时间与歌词索引 所指时间进行对比本文档来自技高网...

【技术保护点】
一种解析歌词并使其与歌曲同步播放的方法,其适用于手机中,其特征在于,包括以下步骤:  S1、建立歌词解析器,定义所述歌词解析器的数据结构,使其能够记录歌词文件的所有有效信息;S2、打开歌词文件,通过所述歌词解析器逐行解析,并将解析得到的结果保存到所述解析器数据结构中形成歌词数据结构数组;S3、删除所述歌词数据结构数组中的冗余及错误信息;S4、对得到的所述歌词数据结构数组以时间大小为基准点进行排序;S5、根据所述歌词文件内容的顺序调整所述歌词数据结构数组,并将当前播放时间与所述歌词文件包括的时间进行比较,实现歌词的同步播放。

【技术特征摘要】

【专利技术属性】
技术研发人员:张冲
申请(专利权)人:上海酷吧信息技术有限公司
类型:发明
国别省市:31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1