一种同步显示歌词的移动终端音乐播放方法和装置 【技术领域】
本发明涉及移动终端音乐播放领域,特别是涉及一种同步显示歌词的移动终端音乐播放方法和装置。
背景技术
目前,随着移动通信技术的不断发展,移动终端已经深入到人们的生活中,移动通信也已成为最广泛使用的通信方式。这里,本发明所称的移动终端是指手机、个人数字助理(PDA,Personal Digital Assistant)等具有无线通讯功能的小型手持式移动通信设备。
随着互联网的迅速发展,人们访问互联网越来越方便和快捷。很多移动终端用户都可以轻松的通过移动终端访问互联网,进行网上聊天,阅读小说和新闻,以及在线视听。随着用户要求的不断增加,许多用户希望在通过移动终端进行在线视听时,能获得更多更方便的使用体验,例如,在进行在线试听时,一边在线欣赏歌曲,一边能够浏览同步自动显示的歌词。
但是,现有的移动终端的音乐播放器不能实现播放歌曲时歌词同步自动显示,给用户使用上带来了不便。
【发明内容】
针对现有技术中存在的缺陷和不足,本发明的目的是提出一种同步显示歌词的移动终端音乐播放方法和装置,以实现在播放歌曲的同时能同步显示歌词。
为了达到上述目的,本发明提出了一种同步显示歌词的移动终端音乐播放方法,包括:
步骤1:开始在线试听,下载歌曲以及与歌曲相应的歌词,并开始播放下载的歌曲;
步骤2:判断所下载歌词的格式,若是同步逐行显示歌词LRC格式,则执行步骤3;若是同步逐字显示歌词KSC格式,则执行步骤4;
步骤3:解析所述步骤2中下载的歌词,得到每一行歌词的播放时间,按所述播放时间将每一行歌词放入缓存暂存;根据歌曲播放时间,在缓存中找到并在移动终端上区别显示当前播放行歌词与前后两行歌词;
步骤4:解析所述步骤2中下载的歌词,得到每行歌词以及每个字的播放时间,按所述播放时间将歌词放入缓存暂存;根据歌曲播放时间,在缓存中找到并在移动终端上显示当前播放行歌词以及前后两行歌词,同时,逐字区别显示当前播放行歌词。
作为上述技术方案的优选,在所述步骤3中还包括:在移动终端上显示歌词时,根据当前播放行歌词的持续时间计算滚动速率,各行歌词根据所述滚动速率同时上滚;
其中,所述滚动速率为:显示的一个字的高度除以当前播放行歌词的持续时间,所述当前播放行歌词的持续时间为下一行歌词的播放时间减去当前播放行歌词的播放时间。
作为上述技术方案的优选,还包括在显示歌词时,判断当前播放行歌词是否超出移动终端设置的显示宽度,若是,将当前播放行歌词左移显示,所述左移的幅度为:当前播放行歌词的宽度减去移动终端设置的显示宽度的差;所述左移的速率为:上述差除以当前播放行歌词的持续时间。
作为上述技术方案的优选,所述步骤4中逐字区别显示当前播放行歌词的方法具体为:
设置定时器按刷新时间循环刷新当前播放字每列像素的颜色,其中,当前播放字的每列像素的所述刷新时间为:当前播放字的持续时间除以字宽。
作为上述技术方案的优选,所述刷新的颜色可任意设定。
本发明还提出一种同步显示歌词的移动终端音乐播放装置,包括:
下载模块,用于下载并存储歌曲、与所述歌曲相应的歌词;
音乐播放模块,用于播放所述下载模块下载的歌曲;
判断模块,用于判断所述下载模块所下载歌词的格式;
第一显示模块,用于所述判断模块判断歌词的格式为同步逐行显示歌词LRC格式时,解析所述下载模块下载的歌词,得到每一行歌词的播放时间,按所述播放时间将每一行歌词放入缓存暂存;根据歌曲播放时间,在缓存中找到并在移动终端上区别显示当前播放行歌词与前后两行歌词;
第二显示模块,用于所述判断模块判断歌词的格式为同步逐字显示歌词KSC格式时,解析所述下载模块下载的歌词,得到每行歌词以及每个字的播放时间,按所述播放时间将歌词放入缓存暂存;根据歌曲播放时间,在缓存中找到并在移动终端上显示当前播放行以及前后两行歌词,同时,逐字区别显示当前播放行歌词。
作为上述技术方案的优选,所述第一显示模块中还包括:
歌词滚动单元,用于在移动终端上显示歌词时,根据当前播放行歌词的持续时间计算滚动速率,各行歌词根据所述滚动速率同时上滚;
其中,所述滚动速率为:显示的一个字的高度除以当前播放行歌词的持续时间,所述当前播放行歌词的持续时间为下一行歌词的播放时间减去当前播放行歌词的播放时间。
作为上述技术方案的优选,所述第一显示模块中还包括:
左移歌词单元,用于在显示歌词时,判断当前播放行歌词是否超出移动终端设置的显示宽度,若是,将当前播放行歌词左移显示,所述左移的幅度为:当前播放行歌词的宽度减去移动终端设置的显示宽度的差;所述左移的速率为:上述差除以当前播放行歌词的持续时间。
作为上述技术方案的优选,所述第二显示模块中进一步包括:
刷新单元,用于逐字区别显示当前播放行歌词:设置定时器按刷新时间循环刷新当前播放字的每列像素的颜色,其中,当前播放字的每列像素的所述刷新时间为:当前播放字的持续时间除以字宽。
作为上述技术方案的优选,所述刷新的颜色可任意设定。
本发明提出的同步显示歌词的移动终端音乐播放方法和装置能在进行在线试听歌曲的同时,自动下载与试听的歌曲相应的歌词,并针对不同类型的歌词进行分别处理,根据歌曲的播放时间,同步显示该歌词。因此,用户在使用移动终端进行在线试听时更加方便。
下面结合附图,对本发明的具体实施方式作进一步的详细说明。对于所属技术领域的技术人员而言,从对本发明的详细说明中,本发明的上述和其他目的、特征和优点将显而易见。
【附图说明】
图1为本发明提出的移动终端音乐播放方法第一优选实施例示意图。
【具体实施方式】
以下为本发明的第一优选实施例,如图1所示,一种同步显示歌词的移动终端音乐播放方法,包括:
步骤1:开始在线试听,下载歌曲以及与歌曲相应的歌词,并开始播放下载的歌曲;其中,歌曲是下载到移动终端后进行缓冲播放;
步骤2:判断所下载歌词的格式,若是同步逐行显示歌词LRC格式,则执行步骤3;若是同步逐字显示歌词KSC格式,则执行步骤4;这里,可以根据下载歌词的后缀名来段歌词的格式;
LRC歌词是一种通过编辑器把每一行歌词按歌曲歌词出现的时间编辑成的一种歌词文件,也就是说,在每一行歌词前都有时间标签,标识着该行歌词的显示时间;
KSC歌词是一种通过编辑器把每一行歌词中的每个字按播放时间编辑成的一种歌词文件,也就是说,在每一个字前都有时间标签,标识着该字的显示时间;
步骤3:解析所述步骤2中下载的歌词,得到每一行歌词的播放时间,按每一行歌词的播放时间将每一行歌词放入缓存暂存;根据歌曲播放时间,在缓存中找到并在移动终端上区别显示当前播放行歌词与前后两行歌词;
解析过程中,还可以得到歌词的行数以及每一行的内容等信息,显示时,可以高亮显示当前播放行歌词,非高亮显示前后两行歌词;
步骤4:解析所述步骤2中下载的歌词,得到每行歌词的播放时间以及每个字的播放时间,按每行歌词的播放时间以及每个字的播放时间将歌词放入缓存暂存;根据歌曲播放时间,在缓存中找到并在移动终端上显示当前播放行以及前后两行歌词,同时,逐字区别显示当前播放行歌词;
其中,可以利用while循环程序解析每行歌词每个字的播放时间,并存入结构体。
本方法能在进行在线试听歌曲的同时,自动下载与试听的歌曲相应的歌词,并针对不同类型的歌词进行分别处理,根据歌曲的播放时间,同步显示该歌词。
本发明的第二实施例是在第一实施例的基础上,实现了使步骤3中的每一行歌词滚动显示,因为高亮的歌词行也就是正在播放的歌词行在显示的时候,只能从显示区中央下方一行上滚到上方一行,幅度不能过大,所以在每次滚动的时候设置了滚动的最大距离。具体地,在步骤3中的在移动终端上显示歌词时,根据当前播放行歌词的持续时间计算滚动速率,各行歌词根据所述滚动速率同时上滚;其中,所述滚动速率为:显示的一个字的高度除以当前播放行歌词的持续时间,所述当前播放行歌词的持续时间为下一行歌词的播放时间减去当前播放行歌词的播放时间。如果该行连续滚动超过了一个字的高度,就停留在最高点直到下一行歌词开始播放。
本发明的第三实施例是在第一、第二实施例的基础上加以改进,增加了当歌词为LRC格式,播放行歌词超过移动终端能够显示的宽度时,移动该行歌词的功能,具体如下:
在显示歌词时,获取当前行的宽度,与移动终端设置的歌词显示宽度进行比较,判断当前行是否超出移动终端设置的显示宽度,若是,将当前播放行歌词左移显示;
所述左移的幅度为:当前播放行歌词的宽度减去移动终端设置的显示宽度的差;
所述左移的速率为:上述差除以当前播放行歌词的持续时间。
在上述第一实施例中,所述步骤4中逐字区别显示当前播放行歌词的方法具体为:
设置定时器按刷新时间循环刷新当前播放字的每列像素的颜色,其中,当前播放字的每列像素的所述刷新时间为:当前播放字的持续时间除以字宽,所述字宽是以像素为单位的。
其中,刷新的颜色都可以任意设定。
与上述方法相应一种同步显示歌词的移动终端音乐播放装置,包括:
下载模块,用于下载并存储歌曲、与所述歌曲相应的歌词;
音乐播放模块,用于播放所述下载模块下载的歌曲;
判断模块,用于判断所述下载模块所下载歌词的格式;
第一显示模块,用于所述判断模块判断歌词的格式为同步逐行显示歌词LRC格式时,解析所述下载模块下载的歌词,得到每一行歌词的播放时间,按每一行的播放时间将每一行歌词放入缓存暂存;根据歌曲播放时间,在缓存中找到并在移动终端上区别显示当前播放行歌词与前后两行歌词:
第二显示模块,用于所述判断模块判断歌词的格式为同步逐字显示歌词KSC格式时,解析所述下载模块下载的歌词,得到每行歌词的播放施加以及每个字的播放时间,按所述播放时间将歌词放入缓存暂存;根据歌曲播放时间,在缓存中找到并在移动终端上显示当前播放行以及前后两行歌词,同时,逐字区别显示当前播放行歌词。
其中,所述第一显示模块中还可以包括:
歌词滚动单元,用于在移动终端上显示歌词时,根据当前播放行歌词的持续时间计算滚动速率,各行歌词根据所述滚动速率同时上滚;其中,所述滚动速率为:显示的一个字的高度除以当前播放行歌词的持续时间,所述当前播放行歌词的持续时间为下一行歌词的播放时间减去当前播放行歌词的播放时间。
其中,所述第一显示模块中还可以包括:
左移歌词单元,用于在显示歌词时,判断当前播放行歌词是否超出移动终端设置的显示宽度,若是,将当前播放行歌词左移显示,所述左移的幅度为:当前播放行歌词的宽度减去移动终端设置的显示宽度的差;所述左移的速率为:上述差除以当前播放行歌词的持续时间。
所述第二显示模块中进一步包括:
刷新单元,用于逐字区别显示当前播放行歌词:设置定时器按刷新时间循环刷新当前播放字的每列像素的颜色,其中,当前播放字的每列像素的所述刷新时间为:当前播放字的持续时间除以字宽。
刷新的颜色都可以任意设定。
虽然,本发明已通过以上实施例及其附图而清楚说明,然而在不背离本发明精神及其实质的情况下,所属技术领域的技术人员当可根据本发明作出各种相应的变化和修正,但这些相应的变化和修正都应属于本发明的权利要求的保护范围。