CN102426842B - 基于浏览器的歌词显示方法及终端 - Google Patents
基于浏览器的歌词显示方法及终端 Download PDFInfo
- Publication number
- CN102426842B CN102426842B CN201110420157.6A CN201110420157A CN102426842B CN 102426842 B CN102426842 B CN 102426842B CN 201110420157 A CN201110420157 A CN 201110420157A CN 102426842 B CN102426842 B CN 102426842B
- Authority
- CN
- China
- Prior art keywords
- lyrics
- browser
- webpage
- getmediaevent
- mediaplayer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种基于浏览器的歌词显示方法及终端,其方法包括:终端在用户点击歌曲播放按钮时,通过网页调用基于javascript扩展的open方法,将歌词路径传送给浏览器;在浏览器中根据歌词路径从服务器下载歌词;并将下载的歌词保存在终端本地的歌词文件中;当歌词下载成功后,在浏览器中解析歌词文件中的下载的歌词;根据解析结果,在浏览器中启动歌词显示线程,并在网页中高亮度显示与当前播放歌曲同步的歌词。本发明改变了网页中同步显示歌词的传统模式,使网页与浏览器相对独立,减轻了网页在线播放过程中同步显示歌词的负担,提高了网页的整体性能,使得在线同步显示歌词更加高效、方便及快捷,进一步提高了用户体验。
Description
技术领域
本发明涉及歌词显示技术领域,尤其涉及一种基于浏览器的歌词显示方法及终端。
背景技术
目前,媒体播放已经广泛应用于浏览器上,如在线音乐播放、在线电影播放等。其中,在线音乐播放的过程中,往往伴随有歌词的同步显示。
在网页上同步显示歌词,传统的方法是在网页中通过libcurl、javascript等方式进行歌词的下载、解析及显示。但是,如果将歌词的下载、解析及显示全部放在网页上操作,势必影响网页的整体性能,使得用户在浏览网页时的体验变差,给用户在操作上带来诸多不便。
发明内容
本发明的主要目的在于提供一种基于浏览器的歌词显示方法及终端,旨在提高网页的整体性能及用户体验。
为了达到上述目的,本发明提出一种基于浏览器的歌词显示方法,包括:
终端在用户点击歌曲播放按钮时,通过网页调用基于javascript扩展的open方法,将歌词路径传送给浏览器;在所述浏览器中根据所述歌词路径从服务器下载歌词;并将下载的歌词保存在终端本地的歌词文件中;
当歌词下载成功后,在所述浏览器中解析所述歌词文件中的下载的歌词;
根据解析结果,在所述浏览器中启动歌词显示线程,并在网页中高亮度显示与当前播放歌曲同步的歌词。
优选地,所述在浏览器中解析所述歌词文件中的下载的歌词的步骤包括:
当歌词下载成功后,在所述浏览器中打开所述歌词文件;
按照歌词在所述歌词文件中的时间戳,将所述歌词展开并进行排序;
将排序后的带有索引号及时间戳的歌词内容,以及相应的下载事件类型存储于浏览器的基于javascript扩展的mediaplayer_getMediaEvent方法中;
在所述浏览器中向所述网页发送歌词获取成功的按键信息,由所述网页根据所述按键信息从所述基于javascript扩展的mediaplayer_getMediaEvent方法中获取所述歌词内容及相应的下载事件类型,并根据所述相应的事件类型在所述网页中显示所述歌词内容。
优选地,该方法还包括:
当歌词下载失败后,将歌词获取失败的信息及相应的下载事件类型存储于所述浏览器的基于javascript扩展的mediaplayer_getMediaEvent方法中;
在所述浏览器中向所述网页发送歌词获取失败的按键信息,由所述网页根据所述按键信息从所述基于javascript扩展的mediaplayer_getMediaEvent方法中获取所述歌词获取失败的信息及相应的下载事件类型,并根据所述相应的下载事件类型在所述网页中显示所述歌词获取失败的信息。
优选地,所述根据解析结果,在浏览器中启动歌词显示线程,并在网页中高亮度显示与当前播放歌曲同步的歌词的步骤包括:
在所述浏览器中启动播放器及歌词显示线程,从播放器中获取当前歌曲播放时间;
比较所述当前歌曲播放时间及所述浏览器中歌词的时间戳;
获取当前歌词,所述当前歌词的时间戳小于或等于所述当前歌曲播放时间,且所述当前歌词的下一歌词的时间戳大于所述当前歌曲播放时间;
将所述当前歌词的索引号及相应的显示事件类型存储于所述基于javascript扩展的mediaplayer_getMediaEvent方法中;
在所述浏览器中向所述网页发送开始显示歌词的按键信息,由所述网页根据所述按键信息从所述基于javascript扩展的mediaplayer_getMediaEvent方法中获取所述当前歌词的索引号及相应的显示事件类型,并根据所述相应的显示事件类型,将所述索引号对应的当前歌词高亮度显示在所述网页上。
优选地,该方法还包括:
当歌曲播放完毕时,在所述浏览器中停止歌词显示进程,并将歌曲播放结束信息存储于所述浏览器的所述基于javascript扩展的mediaplayer_getMediaEvent方法中;
在所述浏览器中向所述网页发送歌曲播放完毕的按键信息,由所述网页根据所述按键信息从所述基于javascript扩展的mediaplayer_getMediaEvent方法中获取所述歌曲播放结束信息,并通过所述网页控制播放下一歌曲。
本发明还提出一种基于浏览器的歌词显示终端,包括:
下载模块,用于在用户点击歌曲播放按钮时,通过网页调用基于javascript扩展的open方法,将歌词路径传送给浏览器;以及在所述浏览器中根据所述歌词路径从服务器下载歌词,并将下载的歌词保存在终端本地的歌词文件中;
解析模块,用于当歌词下载成功后,在所述浏览器中解析所述歌词文件中的下载的歌词;
显示模块,用于根据解析结果,在所述浏览器中启动歌词显示线程,并在网页中高亮度显示与当前播放歌曲同步的歌词。
优选地,所述解析模块包括:
展开单元,用于当歌词下载成功后,在所述浏览器中打开所述歌词文件;按照歌词在所述歌词文件中的时间戳,将所述歌词展开并进行排序;
第一存储单元,用于将排序后的带有索引号及时间戳的歌词内容,以及相应的下载事件类型存储于浏览器的基于javascript扩展的mediaplayer_getMediaEvent方法中;
控制单元,用于在所述浏览器中向所述网页发送歌词获取成功的按键信息,由所述网页根据所述按键信息从所述基于javascript扩展的mediaplayer_getMediaEvent方法中获取所述歌词内容及相应的下载事件类型,并根据所述相应的事件类型在所述网页中显示所述歌词内容。
优选地,所述第一存储单元,还用于当歌词下载失败后,将歌词获取失败的信息及相应的下载事件类型存储于所述浏览器的基于javascript扩展的mediaplayer_getMediaEvent方法中;
所述控制单元,还用于在所述浏览器中向所述网页发送歌词获取失败的按键信息,由所述网页根据所述按键信息从所述基于javascript扩展的mediaplayer_getMediaEvent方法中获取所述歌词获取失败的信息及相应的下载事件类型,并根据所述相应的下载事件类型在所述网页中显示所述歌词获取失败的信息。
优选地,所述显示模块包括:
启动单元,用于在所述浏览器中启动播放器及歌词显示线程,从播放器中获取当前歌曲播放时间;
比较单元,用于比较所述当前歌曲播放时间及所述浏览器中歌词的时间戳;
获取单元,用于获取当前歌词,所述当前歌词的时间戳小于或等于所述当前歌曲播放时间,且所述当前歌词的下一歌词的时间戳大于所述当前歌曲播放时间;
第二存储单元,用于将所述当前歌词的索引号及相应的显示事件类型存储于所述基于javascript扩展的mediaplayer_getMediaEvent方法中;
显示单元,用于在所述浏览器中向所述网页发送开始显示歌词的按键信息,由所述网页根据所述显示按键信息从所述基于javascript扩展的mediaplayer_getMediaEvent方法中获取所述当前歌词的索引号及相应的显示事件类型,并根据所述相应的显示事件类型,将所述索引号对应的当前歌词高亮度显示在所述网页上。
优选地,所述启动单元,还用于当歌曲播放完毕时,在所述浏览器中停止歌词显示进程;
所述第一存储单元,还用于将歌曲播放结束信息存储于所述浏览器的所述基于javascript扩展的mediaplayer_getMediaEvent方法中;
所述控制单元,还用于在所述浏览器中向所述网页发送歌曲播放完毕的按键信息,由所述网页根据所述按键信息从所述基于javascript扩展的mediaplayer_getMediaEvent方法中获取所述歌曲播放结束信息,并通过所述网页控制播放下一歌曲。
本发明提出的一种基于浏览器的歌词显示方法及终端,改变了网页中同步显示歌词的传统模式,歌词的下载和解析完全由浏览器来完成,而歌词的同步显示则由浏览器与网页端的交互来共同完成,使网页与浏览器相对独立,减轻了网页在线播放过程中同步显示歌词的负担,提高了网页的整体性能,使得在线同步显示歌词更加高效、方便及快捷,进一步提高了用户体验。
附图说明
图1是本发明基于浏览器的歌词显示方法较佳实施例的流程示意图;
图2是本发明基于浏览器的歌词显示方法较佳实施例中当歌词下载成功后,在浏览器中解析歌词文件中的下载的歌词的流程示意图;
图3是本发明基于浏览器的歌词显示方法较佳实施例中根据解析结果,在浏览器中启动歌词显示线程,并在网页中高亮度显示与当前播放歌曲同步的歌词的流程示意图;
图4a是本发明基于浏览器的歌词显示方法较佳实施例中歌词下载实例的流程示意图;
图4b是本发明基于浏览器的歌词显示方法较佳实施例中歌词解析实例的流程示意图;
图4c是本发明基于浏览器的歌词显示方法较佳实施例中歌词显示实例的流程示意图;
图5是本发明基于浏览器的歌词显示终端较佳实施例的结构示意图;
图6是本发明基于浏览器的歌词显示终端较佳实施例中解析模块的结构示意图;
图7是本发明基于浏览器的歌词显示终端较佳实施例中显示模块的结构示意图。
为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
具体实施方式
本发明实施例解决方案主要是:歌词的下载和解析完全由浏览器来完成,而歌词的同步显示则由浏览器与网页端的交互来共同完成,使网页与浏览器相对独立,减轻了网页在线播放过程中同步显示歌词的负担,以提高网页的整体性能及用户体验。
本发明实施例中的终端可以为网络电视机或其他安装有浏览器并可以播放在线音乐及在线视频的网络终端等。
如图1所示,本发明较佳实施例提出一种基于浏览器的歌词显示方法,包括:
步骤S101,终端在用户点击歌曲播放按钮时,通过网页调用基于javascript扩展的open方法,将歌词路径传送给浏览器;在浏览器中根据歌词路径从服务器下载歌词;并将下载的歌词保存在终端本地的歌词文件中;
步骤S102,当歌词下载成功后,在浏览器中解析歌词文件中的下载的歌词;
步骤S103,根据解析结果,在浏览器中启动歌词显示线程,并在网页中高亮度显示与当前播放歌曲同步的歌词。
在本实施例中,为了进行歌词的下载以及歌曲的播放,在浏览器内核定义了基于javascript扩展的open方法、基于javascript扩展的play方法以及基于javascript扩展的mediaplayer_getMediaEvent方法。并在基于javascript扩展的open方法中定义了参数:歌词路径addonurl。
下面以电视机上的在线音乐为例,介绍本实施例的技术方案。该方案分歌词下载、歌词解析以及歌词显示三个过程,其中,浏览器主要负责了歌词的下载和歌词的解析,浏览器与网页共同完成歌词的显示。
当用户进入到在线音乐的播放页面,点击播放按钮之后,网页调用基于javascript扩展的open方法,将歌词路径传送给浏览器,浏览器根据歌词路径从服务器下载歌词。歌词下载完成之后,浏览器将歌词按时间戳展开并排序,并将排序之后的歌词存放在基于javascript扩展的mediaplayer_getMediaEvent方法所自带的json格式字符串型参数buffer中,同时给网页发送歌词获取成功的按键信息。网页接收到该歌词获取成功的按键信息之后,调用基于javascript扩展的mediaplayer_getMediaEvent方法,解析该方法中存放的歌词,并将歌词全部显示出来。然后网页调用基于javascript扩展的play方法播放音乐,浏览器启动显示歌词的线程,将当前播放歌词所对应的索引号存放在基于javascript扩展的mediaplayer_getMediaEvent方法中,同时给网页发送开始显示歌词的按键信息。网页接收到该开始显示歌词的按键信息之后,调用基于javascript扩展的mediaplayer_getMediaEvent方法,并解析出放在该方法中的歌词索引号,网页则高亮度显示该索引号所对应的那句歌词,由此实现了歌词显示与歌曲播放的同步。
上述歌词下载过程中,当歌词下载失败后,浏览器将歌词获取失败的信息及相应的下载事件类型存储于基于javascript扩展的mediaplayer_getMediaEvent方法中;浏览器向网页发送歌词获取失败的按键信息,由网页根据该歌词获取失败的按键信息从基于javascript扩展的mediaplayer_getMediaEvent方法中获取歌词获取失败的信息及相应的下载事件类型,并根据相应的下载事件类型在网页中显示歌词获取失败的信息。
当歌曲播放完毕,浏览器停止歌词显示线程,并将歌曲播放结束信息存储于浏览器的基于javascript扩展的mediaplayer_getMediaEvent方法中;浏览器向网页发送歌曲播放完毕的按键信息,由网页根据该歌曲播放完毕的按键信息从基于javascript扩展的mediaplayer_getMediaEvent方法中获取歌曲播放结束信息,并控制播放下一歌曲。
具体实施过程中,如图2所示,上述步骤S102包括:
步骤S1021,当歌词下载成功后,在浏览器中打开歌词文件;
步骤S1022,按照歌词在歌词文件中的时间戳,将歌词展开并进行排序;
步骤S1023,将排序后的带有索引号及时间戳的歌词内容,以及相应的下载事件类型存储于浏览器的基于javascript扩展的mediaplayer_getMediaEvent方法中;
步骤S1024,在浏览器中向网页发送歌词获取成功的按键信息,由网页根据该按键信息从基于javascript扩展的mediaplayer_getMediaEvent方法中获取歌词内容及相应的下载事件类型,并根据相应的事件类型在网页中显示歌词内容。
如图3所示,上述步骤S103包括:
步骤S1031,在浏览器中启动播放器及歌词显示线程,从播放器中获取当前歌曲播放时间;
步骤S1032,比较当前歌曲播放时间及浏览器中歌词的时间戳;
步骤S1033,获取当前歌词,当前歌词的时间戳小于或等于当前歌曲播放时间,且当前歌词的下一歌词的时间戳大于当前歌曲播放时间;
步骤S1034,将当前歌词的索引号及相应的显示事件类型存储于基于javascript扩展的mediaplayer_getMediaEvent方法中;
步骤S1035,在浏览器中向网页发送开始显示歌词的按键信息,由网页根据该按键信息从基于javascript扩展的mediaplayer_getMediaEvent方法中获取当前歌词的索引号及相应的显示事件类型,并根据相应的显示事件类型,将索引号对应的当前歌词高亮度显示在网页上。
以下以具体实例详细说明本实施例中歌词下载、歌词解析及歌词显示的具体流程:
如图4a所示,歌词下载的具体流程如下:
1、以电视机为例,用户进入到电视机的音乐播放页面,并点击播放按钮;
2、网页调用基于javascript扩展的open方法,并传递addonurl(服务器中的歌词路径)参数给浏览器;
3、浏览器获取到addonurl参数之后,根据addonurl参数从服务器上下载歌词。如果addonurl参数为空,则下载歌词失败;如果addonurl不为空,则在浏览器中进行歌词下载,并将歌词存放在电视机的本地路径上的某个文件中(如applications/bin/lrc)。
歌词下载成功后,则进行歌词的解析。
如图4b所示,歌词解析的具体流程如下:
1、如果歌词下载失败则进入步骤6,如果歌词下载成功则进入步骤2;
2、在浏览器中打开电视机本地路径上的歌词文件,进入步骤3;
3、在歌词文件中每一句歌词前面都会有一个或多个时间,浏览器根据歌词前面的时间,将歌词逐行展开,进入步骤4;
4、根据歌词前面的时间将歌词按照时间先后顺序排序,存入字符串lyrics中,进入步骤5;
5、浏览器中定义了基于javascript扩展的mediaplayer_getMediaEvent方法。该方法中有一个json格式字符串型参数buffer,用于存放事件类型以及具体内容。网页调用该基于javascript扩展的mediaplayer_getMediaEvent方法获取到从浏览器传来的信息,进入步骤6;
6、歌词下载结束之后,如果下载成功,则将事件类型(EVENT_LYRICS_PARSE)和存储歌词的字符串lyrics以json格式保存在上述buffer中,浏览器向网页发送SDL5001按键信息。网页得到SDL5001按键信息之后,调用基于javascript扩展的mediaplayer_getMediaEvent方法,并使用eval方法解析该方法中的buffer。若网页端解析出来的事件类型为EVENT_LYRICS_PARSE,网页将buffer中的歌词部分在歌词框里面全部显示出来;
如果歌词下载失败,浏览器则将下载失败的事件类型(EVENT_LYRICS_ERROR)以及提示失败的信息以json格式保存在上述buffer中,浏览器向网页发送SDL5001按键信息;若网页解析出来的事件类型为EVENT_LYRICS_ERROR,网页则将提示歌词获取失败的信息在歌词框中显示出来。
在歌词解析完毕之后,进行歌词的同步显示。
如图4c所示,歌词的同步显示具体流程如下:
1、网页调用基于javascript扩展的play方法播放音乐,播放开始浏览器启动显示歌词的线程,进入步骤2;
2、将当前播放的时间与歌词的时间进行逐句比较,进入步骤3;
3、如果当前时间比某一句歌词(index)的时间小,而比上一句歌词(preindex)的时间大,则将索引值index和事件类型(EVENT_LYRICS_SHOW)以json格式存入上述buffer中,进入步骤4;
4、浏览器发送SDL5001按键信息给网页,进入步骤5;
5、网页获取到按键信息之后,调用基于javascript扩展的mediaplayer_getMediaEvent方法,并使用eval方法对其中的buffer进行解析,进入步骤6;
6、若网页解析出来的事件类型为EVENT_LYRICS_SHOW,则网页将buffer中存放的索引号index所在的那句歌词进行高亮显示,由此达到了歌曲播放与歌词显示同步的目的,进入步骤7;
7、如果当前歌曲没有播放完返回步骤2,否则进入步骤8。
8、如果当前歌曲播放结束,则浏览器首先停止歌词显示的线程,释放线程资源,进入步骤9;
9、浏览器同时将播放结束的事件(EVENT_LYRICS_END)和歌曲信息以json格式存入上述buffer中,进入步骤10;
10、浏览器向网页发送SDL5001按键信息,进入步骤11;
11、网页获取到按键信息之后,调用基于javascript扩展的mediaplayer_getMediaEvent方法,并使用eval方法对其中的buffer进行解析,进入步骤12;
12、若网页解析出来的事件类型为EVENT_LYRICS_END,则由页面控制播放下一首歌曲,转向步骤1。
本实施例使得音乐播放时,歌词的同步显示得以在电视机的浏览器上方便、快捷的实现,避免了单独在网页中进行歌词下载、解析、显示等众多工作影响网页整体性能的缺陷,在大大提高网页性能的同时,增强了用户体验效果。
需要说明的是,本发明基于浏览器在线同步显示歌词的方法适用在线音乐播放,也适用具有字幕显示的在线视频播放。
如图5所示,本发明一实施例提出一种基于浏览器的歌词显示终端,包括:下载模块501、解析模块502以及显示模块503,其中:
下载模块501,用于在用户点击歌曲播放按钮时,通过网页调用基于javascript扩展的open方法,将歌词路径传送给浏览器;以及在浏览器中根据歌词路径从服务器下载歌词,并将下载的歌词保存在终端本地的歌词文件中;
解析模块502,用于当歌词下载成功后,在浏览器中解析歌词文件中的下载的歌词;
显示模块503,用于根据解析结果,在浏览器中启动歌词显示线程,并在网页中高亮度显示与当前播放歌曲同步的歌词。
在本实施例中,为了进行歌词的下载以及歌曲的播放,在浏览器内核定义了基于javascript扩展的open方法、基于javascript扩展的play方法以及基于javascript扩展的mediaplayer_getMediaEvent方法。在基于javascript扩展的open方法中定义了参数:歌词路径addonurl。
下面以电视机上的在线音乐为例,介绍本实施例的技术方案。该方案分歌词下载、歌词解析以及歌词显示三个过程,其中,浏览器主要负责了歌词的下载和歌词的解析,浏览器与网页共同完成歌词的显示。
当用户进入到在线音乐的播放页面,点击播放按钮之后,下载模块501通过网页调用基于javascript扩展的open方法,将歌词路径传送给浏览器,并通过浏览器根据歌词路径从服务器下载歌词。歌词下载完成之后,解析模块502通过浏览器将歌词按时间戳展开并排序,并将排序之后的歌词存放在基于javascript扩展的mediaplayer_getMediaEvent方法所自带的json格式字符串型参数buffer中,同时给网页发送歌词获取成功的按键信息。网页接收到该歌词获取成功的按键信息之后,调用基于javascript扩展的mediaplayer_getMediaEvent方法,解析该方法中存放的歌词,并将歌词全部显示出来。然后网页调用基于javascript扩展的play方法播放音乐,浏览器启动显示歌词的线程,将当前播放歌词所对应的索引号存放在基于javascript扩展的mediaplayer_getMediaEvent方法中,同时给网页发送开始显示歌词的按键信息。网页接收到该开始显示歌词的按键信息之后,调用基于javascript扩展的mediaplayer_getMediaEvent方法,并解析出放在该方法中的歌词索引号,网页则高亮度显示该索引号所对应的那句歌词,由此实现了歌词显示与歌曲播放的同步。
上述歌词下载过程中,当歌词下载失败后,浏览器将歌词获取失败的信息及相应的下载事件类型存储于基于javascript扩展的mediaplayer_getMediaEvent方法中;浏览器向网页发送歌词获取失败的按键信息,由网页根据该歌词获取失败的按键信息从基于javascript扩展的mediaplayer_getMediaEvent方法中获取歌词获取失败的信息及相应的下载事件类型,并根据相应的下载事件类型在网页中显示歌词获取失败的信息。
当歌曲播放完毕,浏览器停止歌词显示线程,并将歌曲播放结束信息存储于浏览器的基于javascript扩展的mediaplayer_getMediaEvent方法中;浏览器向网页发送歌曲播放完毕的按键信息,由网页根据歌曲播放完毕的按键信息从基于javascript扩展的mediaplayer_getMediaEvent方法中获取歌曲播放结束信息,并控制播放下一歌曲。
具体实施过程中,如图6所示,解析模块502包括:展开单元5021、第一存储单元5022以及控制单元5023,其中:
展开单元5021,用于当歌词下载成功后,在浏览器中打开歌词文件;按照歌词在歌词文件中的时间戳,将歌词展开并进行排序;
第一存储单元5022,用于将排序后的带有索引号及时间戳的歌词内容,以及相应的下载事件类型存储于浏览器的基于javascript扩展的mediaplayer_getMediaEvent方法中;
控制单元5023,用于在浏览器中向网页发送歌词获取成功的按键信息,由网页根据该歌词获取成功的按键信息从基于javascript扩展的mediaplayer_getMediaEvent方法中获取歌词内容及相应的下载事件类型,并根据相应的事件类型在网页中显示歌词内容。
进一步的,上述第一存储单元5022还用于当歌词下载失败后,将歌词获取失败的信息及相应的下载事件类型存储于浏览器的基于javascript扩展的mediaplayer_getMediaEvent方法中;
上述控制单元5023还用于在浏览器中向网页发送歌词获取失败的按键信息,由网页根据该歌词获取失败的按键信息从基于javascript扩展的mediaplayer_getMediaEvent方法中获取歌词获取失败的信息及相应的下载事件类型,并根据相应的下载事件类型在网页中显示歌词获取失败的信息。
如图7所示,显示模块503包括:启动单元5031、比较单元5032、获取单元5033、第二存储单元5034以及显示单元5035,其中:
启动单元5031,用于在浏览器中启动播放器及歌词显示线程,从播放器中获取当前歌曲播放时间;
比较单元5032,用于比较当前歌曲播放时间及浏览器中歌词的时间戳;
获取单元5033,用于获取当前歌词,当前歌词的时间戳小于或等于当前歌曲播放时间,且当前歌词的下一歌词的时间戳大于当前歌曲播放时间;
第二存储单元5034,用于将当前歌词的索引号及相应的显示事件类型存储于所述基于javascript扩展的mediaplayer_getMediaEvent方法中;
显示单元5035,用于在浏览器中向网页发送开始显示歌词的按键信息,由网页根据该开始显示歌词的按键信息从基于javascript扩展的mediaplayer_getMediaEvent方法中获取当前歌词的索引号及相应的显示事件类型,并根据相应的显示事件类型,将索引号对应的当前歌词高亮度显示在网页上。
进一步的,上述启动单元5031还用于当歌曲播放完毕,在浏览器中停止歌词显示进程;
上述第一存储单元5022还用于将歌曲播放结束信息存储于浏览器的基于javascript扩展的mediaplayer_getMediaEvent方法中;
上述控制单元5023还用于在浏览器中向网页发送歌曲播放完毕的按键信息,由网页根据该歌曲播放完毕的按键信息从基于javascript扩展的mediaplayer_getMediaEvent方法中获取歌曲播放结束信息,并通过网页控制播放下一歌曲。
本发明实施例基于浏览器的歌词显示方法及终端,改变了网页中同步显示歌词的传统模式,歌词的下载和解析完全由浏览器来完成,而歌词的同步显示则由浏览器与网页端的交互来共同完成,使网页与浏览器相对独立,减轻了网页在线播放过程中同步显示歌词的负担,提高了网页的整体性能,使得在线同步显示歌词更加高效、方便及快捷,进一步提高了用户体验。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种基于浏览器的歌词显示方法,其特征在于,包括:
终端在用户点击歌曲播放按钮时,通过网页调用基于javascript扩展的open方法,将歌词路径传送给浏览器;在所述浏览器中根据所述歌词路径从服务器下载歌词;并将下载的歌词保存在终端本地的歌词文件中;
当歌词下载成功后,在所述浏览器中解析所述歌词文件中的下载的歌词;
根据解析结果,在所述浏览器中启动歌词显示线程,并在网页中高亮度显示与当前播放歌曲同步的歌词;
其中,所述在浏览器中解析所述歌词文件中的下载的歌词的步骤包括:
当歌词下载成功后,在所述浏览器中打开所述歌词文件;
按照歌词在所述歌词文件中的时间戳,将所述歌词展开并进行排序;
将排序后的带有索引号及时间戳的歌词内容,以及相应的下载事件类型存储于浏览器的基于javascript扩展的mediaplayer_getMediaEvent方法中;
在所述浏览器中向所述网页发送歌词获取成功的按键信息,由所述网页根据所述按键信息从所述基于javascript扩展的mediaplayer_getMediaEvent方法中获取所述歌词内容及相应的下载事件类型,并根据所述相应的事件类型在所述网页中显示所述歌词内容。
2.根据权利要求1所述的方法,其特征在于,还包括:
当歌词下载失败后,将歌词获取失败的信息及相应的下载事件类型存储于所述浏览器的基于javascript扩展的mediaplayer_getMediaEvent方法中;
在所述浏览器中向所述网页发送歌词获取失败的按键信息,由所述网页根据所述按键信息从所述基于javascript扩展的mediaplayer_getMediaEvent方法中获取所述歌词获取失败的信息及相应的下载事件类型,并根据所述相应的下载事件类型在所述网页中显示所述歌词获取失败的信息。
3.根据权利要求1所述的方法,其特征在于,所述根据解析结果,在浏览器中启动歌词显示线程,并在网页中高亮度显示与当前播放歌曲同步的歌词的步骤包括:
在所述浏览器中启动播放器及歌词显示线程,从播放器中获取当前歌曲播放时间;
比较所述当前歌曲播放时间及所述浏览器中歌词的时间戳;
获取当前歌词,所述当前歌词的时间戳小于或等于所述当前歌曲播放时间,且所述当前歌词的下一歌词的时间戳大于所述当前歌曲播放时间;
将所述当前歌词的索引号及相应的显示事件类型存储于所述基于javascript扩展的mediaplayer_getMediaEvent方法中;
在所述浏览器中向所述网页发送开始显示歌词的按键信息,由所述网页根据所述按键信息从所述基于javascript扩展的mediaplayer_getMediaEvent方法中获取所述当前歌词的索引号及相应的显示事件类型,并根据所述相应的显示事件类型,将所述索引号对应的当前歌词高亮度显示在所述网页上。
4.根据权利要求1至3中任一项所述的方法,其特征在于,还包括:
当歌曲播放完毕时,在所述浏览器中停止歌词显示进程,并将歌曲播放结束信息存储于所述浏览器的所述基于javascript扩展的mediaplayer_getMediaEvent方法中;
在所述浏览器中向所述网页发送歌曲播放完毕的按键信息,由所述网页根据所述按键信息从所述基于javascript扩展的mediaplayer_getMediaEvent方法中获取所述歌曲播放结束信息,并通过所述网页控制播放下一歌曲。
5.一种基于浏览器的歌词显示终端,其特征在于,包括:
下载模块,用于在用户点击歌曲播放按钮时,通过网页调用基于javascript扩展的open方法,将歌词路径传送给浏览器;以及在所述浏览器中根据所述歌词路径从服务器下载歌词,并将下载的歌词保存在终端本地的歌词文件中;
解析模块,用于当歌词下载成功后,在所述浏览器中解析所述歌词文件中的下载的歌词;
显示模块,用于根据解析结果,在所述浏览器中启动歌词显示线程,并在网页中高亮度显示与当前播放歌曲同步的歌词;
其中,所述解析模块包括:
展开单元,用于当歌词下载成功后,在所述浏览器中打开所述歌词文件; 按照歌词在所述歌词文件中的时间戳,将所述歌词展开并进行排序;
第一存储单元,用于将排序后的带有索引号及时间戳的歌词内容,以及相应的下载事件类型存储于浏览器的基于javascript扩展的mediaplayer_getMediaEvent方法中;
控制单元,用于在所述浏览器中向所述网页发送歌词获取成功的按键信息,由所述网页根据所述按键信息从所述基于javascript扩展的mediaplayer_getMediaEvent方法中获取所述歌词内容及相应的下载事件类型,并根据所述相应的事件类型在所述网页中显示所述歌词内容。
6.根据权利要求5所述的终端,其特征在于,
所述第一存储单元,还用于当歌词下载失败后,将歌词获取失败的信息及相应的下载事件类型存储于所述浏览器的基于javascript扩展的mediaplayer_getMediaEvent方法中;
所述控制单元,还用于在所述浏览器中向所述网页发送歌词获取失败的按键信息,由所述网页根据所述按键信息从所述基于javascript扩展的mediaplayer_getMediaEvent方法中获取所述歌词获取失败的信息及相应的下载事件类型,并根据所述相应的下载事件类型在所述网页中显示所述歌词获取失败的信息。
7.根据权利要求5所述的终端,其特征在于,所述显示模块包括:
启动单元,用于在所述浏览器中启动播放器及歌词显示线程,从播放器中获取当前歌曲播放时间;
比较单元,用于比较所述当前歌曲播放时间及所述浏览器中歌词的时间戳;
获取单元,用于获取当前歌词,所述当前歌词的时间戳小于或等于所述当前歌曲播放时间,且所述当前歌词的下一歌词的时间戳大于所述当前歌曲播放时间;
第二存储单元,用于将所述当前歌词的索引号及相应的显示事件类型存储于所述基于javascript扩展的mediaplayer_getMediaEvent方法中;
显示单元,用于在所述浏览器中向所述网页发送开始显示歌词的按键信 息,由所述网页根据所述显示按键信息从所述基于javascript扩展的mediaplayer_getMediaEvent方法中获取所述当前歌词的索引号及相应的显示事件类型,并根据所述相应的显示事件类型,将所述索引号对应的当前歌词高亮度显示在所述网页上。
8.根据权利要求5至7中任一项所述的终端,其特征在于,
所述启动单元,还用于当歌曲播放完毕时,在所述浏览器中停止歌词显示进程;
所述第一存储单元,还用于将歌曲播放结束信息存储于所述浏览器的所述基于javascript扩展的mediaplayer_getMediaEvent方法中;
所述控制单元,还用于在所述浏览器中向所述网页发送歌曲播放完毕的按键信息,由所述网页根据所述按键信息从所述基于javascript扩展的mediaplayer_getMediaEvent方法中获取所述歌曲播放结束信息,并通过所述网页控制播放下一歌曲。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110420157.6A CN102426842B (zh) | 2011-12-15 | 2011-12-15 | 基于浏览器的歌词显示方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110420157.6A CN102426842B (zh) | 2011-12-15 | 2011-12-15 | 基于浏览器的歌词显示方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102426842A CN102426842A (zh) | 2012-04-25 |
CN102426842B true CN102426842B (zh) | 2015-05-20 |
Family
ID=45960816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110420157.6A Expired - Fee Related CN102426842B (zh) | 2011-12-15 | 2011-12-15 | 基于浏览器的歌词显示方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102426842B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752664B (zh) * | 2012-06-29 | 2015-05-20 | 北京奇虎科技有限公司 | 一种网页中文本字幕信息的显示方法和装置 |
CN103903625B (zh) * | 2014-04-17 | 2017-06-16 | 北京音之邦文化科技有限公司 | 音频的混音方法和装置 |
CN105704582A (zh) * | 2015-05-11 | 2016-06-22 | 深圳Tcl数字技术有限公司 | 基于浏览器的字幕显示方法及装置 |
CN106815230B (zh) | 2015-11-27 | 2019-05-14 | 腾讯科技(深圳)有限公司 | 歌词页面生成方法及装置 |
CN106791074B (zh) * | 2016-12-15 | 2019-08-02 | Oppo广东移动通信有限公司 | 歌曲信息显示方法、装置及移动终端 |
CN107527636B (zh) * | 2017-07-31 | 2020-06-02 | 惠州市德赛西威汽车电子股份有限公司 | 一种实现跨平台的歌词显示方法 |
CN112632120A (zh) * | 2020-12-08 | 2021-04-09 | 深圳前海微众银行股份有限公司 | 信息处理方法、装置、设备及计算机存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101159739A (zh) * | 2007-09-19 | 2008-04-09 | 腾讯科技(深圳)有限公司 | 一种字幕显示方法及通讯系统以及相关设备 |
CN101615418A (zh) * | 2009-08-11 | 2009-12-30 | 深圳市五巨科技有限公司 | 一种同步滚动显示歌词的移动终端音乐播放方法和装置 |
-
2011
- 2011-12-15 CN CN201110420157.6A patent/CN102426842B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101159739A (zh) * | 2007-09-19 | 2008-04-09 | 腾讯科技(深圳)有限公司 | 一种字幕显示方法及通讯系统以及相关设备 |
CN101615418A (zh) * | 2009-08-11 | 2009-12-30 | 深圳市五巨科技有限公司 | 一种同步滚动显示歌词的移动终端音乐播放方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102426842A (zh) | 2012-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102426842B (zh) | 基于浏览器的歌词显示方法及终端 | |
CN103137167B (zh) | 播放音乐的方法及音乐播放器 | |
US9804816B2 (en) | Generating a playlist based on a data generation attribute | |
US20100282044A1 (en) | Method and system for presenting a musical instrument | |
CN103544008B (zh) | 浏览器中播放音频的方法和装置 | |
CN103414943A (zh) | 电视节目评论信息处理方法和系统 | |
US10931991B2 (en) | Methods and systems for selectively skipping through media content | |
CN103607634A (zh) | 一种减少网络视频点播终端用户等待时间的方法 | |
CN102932694B (zh) | 智能网络电视界面显示方法和装置 | |
CN102438004B (zh) | 获取媒体文件的元数据信息的方法、系统及多媒体播放器 | |
US10468018B2 (en) | Methods and systems for recognizing audio played and recording related video for viewing | |
WO2011085661A1 (zh) | 嵌入式浏览器的网页脚本指令执行控制方法、终端和系统 | |
CN105898538A (zh) | 用于安卓平台的播放方法、装置及移动终端设备 | |
CN105472401A (zh) | 在网络直播过程中播放广告的方法及系统 | |
CN104572953A (zh) | 一种基于搜索结果页面触发音乐播放的方法及装置 | |
CN102419998A (zh) | 一种音频处理方法及系统 | |
CN103609132B (zh) | 接收设备、接收方法、发送设备、发送方法和存储介质 | |
WO2017113857A1 (zh) | 视频关联音乐短片的处理方法以及视频播放装置 | |
CN110008417A (zh) | 对计算机网络上的预期媒体内容加书签 | |
CN104244076B (zh) | 一种通过dlna实现分组同时操控多台媒体设备的方法及系统 | |
CN106851326A (zh) | 一种播放方法和装置 | |
CN105592369B (zh) | 一种视频摘要处理方法及装置 | |
CN106570103A (zh) | 语音播报方法及装置 | |
CN104484458A (zh) | 一种音乐播放方法及装置 | |
CN109727597A (zh) | 语音信息的交互辅助方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150520 Termination date: 20171215 |
|
CF01 | Termination of patent right due to non-payment of annual fee |