一种媒体点播控制方法及媒体播放器与流程

文档序号:12702028阅读:200来源:国知局
一种媒体点播控制方法及媒体播放器与流程
本发明涉及媒体点播领域,尤其涉及一种媒体点播控制方法及媒体播放器。

背景技术:
用户在机顶盒、智能手机等媒体播放器上通过网络点播的方式欣赏视频或音频节目时,点播速度除了与播放软件本身的性能有关外,还与网络环境、节目文件大小等因素有关。每次网络点播的时候,媒体播放器首先按照被点播的节目对应的网络播放链接地址进行网络连接,接着请求数据下载,该过程有时需要花费一定的时间,且该时间段内媒体播放器一直处于初始化状态,如果在此过程中用户切换节目,由于上一次点播的节目尚未完成初始化,媒体播放器可能无法及时切换至下一节目而出现状态冲突、对象死锁,最后导致媒体播放器假死或等待,严重时甚至导致媒体播放器死机,因此对用户的体验度造成一定影响。

技术实现要素:
本发明要解决的主要技术问题是,提供一种提高用户体验度的媒体点播控制方法及媒体播放器。为解决上述技术问题,本发明提供一种媒体点播控制方法,包括以下步骤:媒体播放器接收用户输入的节目点播请求;根据该节目点播请求开启线程对点播的节目进行初始化;在完成初始化期间,如果媒体播放器接收到用户输入的节目切换请求,则保存请求切换的节目所对应的切换信息;判断是否完成初始化,如果是则判断媒体播放器是否在初始化期间接收过用户的节目切换请求,如果有则对待切换的节目进行初始化,否则直接播放所述用户点播的节目。本发明还保护了一种媒体播放器,包括点播控制模块、初始化模块、切换控制模块、初始化判断模块、切换信息存储模块、切换判断模块和播放模块;点播控制模块用于接收用户输入的节目点播请求;初始化模块用于根据节目点播请求开启线程对点播的节目进行初始化;切换控制模块用于在执行初始化期间接收用户输入的节目切换请求,并通过所述切换信息存储模块保存待切换的节目所对应的切换信息;初始化判断模块用于判断是否完成初始化;切换判断模块用于在判断完成初始化之后,判断所述切换控制模块是否在初始化期间接收过用户的节目切换请求,如果有则通过所述初始化模块对待切换的节目进行初始化,否则直接通过所述播放模块播放所述用户点播的节目。本发明的有益效果是:本发明有效避免了媒体播放器在节目初始化期间切换另一节目而导致的媒体播放器假死、长时间等待或者死机等现象,使媒体播放器能够流畅地实现节目点播和节目切换,对现有的媒体播放方式形成有益补充,同时极大地提高了用户体验度和用户满意度。附图说明图1为本发明一种实施例的媒体点播控制方法的流程图;图2为本发明一种实施例的媒体播放器框图。具体实施方式本发明在媒体播放器对用户点播的节目进行初始化时,如果接收到用户的节目切换,则首先保存待切换的节目所对应的切换信息,等待完成初始化之后再利用该切换信息初始化并播放待切换的节目,确保最初点播的节目的初始化过程顺利进行,避免了媒体播放器尚未完成初始化而切换至下一节目造成状态冲突、对象死锁等现象。下面通过具体实施方式结合附图对本发明作进一步详细说明。请参考图1,本实施例的一种媒体点播控制方法包括以下步骤:步骤S101:媒体播放器接收用户输入的节目点播请求。根据不同的产品类型,媒体播放器可为机顶盒、手机、电脑、收音机等各类媒体播放终端,例如本实施例的媒体播放器为采用android操作系统的机顶盒。点播或切换的节目可为视频、音频或同时包含视频和音频的各类节目。媒体播放器的点播形式可为本机点播或者网络点播,前者指直接在本机的数据库中调取和播放用户点播的节目,后者指媒体播放器连接网络后,下载相关的数据并在线播放用户点播的节目。步骤S102:根据该节目点播请求开启线程对点播的节目进行初始化。本步骤对于本地点播,初始化过程指媒体播放器开启初始化线程从本机的数据库中调取用户点播的节目,对于网络点播,初始化过程也称为缓冲过程,指媒体播放器开启线程初始化MediaPlayer对象,按照其对应的网络播放链接地址进行网络连接,并请求数据下载的过程。步骤S103:判断是否已经完成初始化,是则转步骤S108,否则转步骤S104。考虑到网络环境的好坏或者节目文件的大小,初始化持续的时间通常难以确定,通常情况下,媒体播放器在完成一个节目的初始化后,会自动回调Onprepared方法,因此一种实施方式可通过监听媒体播放器是否回调Onprepared方法进行判断,如果媒体播放器回调Onprepared方法则表明已经完成初始化,否则表明尚未完成初始化。另一种实施例中,还可建立一个初始化状态标记并随时对其进行修改,媒体播放器可通过识别该初始化状态标记,精确地判断初始化是否还在进行中或者是否已经完成。或者,还可采用计时的方式控制初始化时间,即在媒体播放器中预设一定时时间,初始化开始后启动计时,计时时间未满则认为初始化尚未完成,计时时间届满后认为初始化已经完成。步骤S104:若机顶盒尚未回调OnPrepared方法,即尚未完成初始化,于是开始判断是否接收到用户的节目切换,是则转步骤S105,否则转步骤S106。步骤S105:如果媒体播放器接收到用户输入的节目切换请求,则保存待切换的节目所对应的切换信息。本步骤中,媒体播放器可能仅接收到用户的一次节目切换,也可能接收到用户的多次节目切换。如果仅接收到一次节目切换,媒体播放器待切换的节目即用户这一次切换的节目,则直接保存该次切换的节目所对应的切换信息。如果接收到用户的多次节目切换,则待切换的节目指用户最后一次切换的节目,则至少应保存待切换的节目所对应的切换信息,优选地,为了节省存储空间和方便后台应用,可按照节目切换的先后顺序,用最近一次切换的节目所对应的切换信息覆盖前一次切换的节目所对应的切换信息。切换信息可根据具体需要进行保存,例如可包括本地播放地址或者网络播放链接地址等信息。一种实施方式中,为了便于后续步骤中判断点播的节目初始化期间媒体播放器是否接收过用户输入的节目切换请求,该步骤还建立或修改切换标识。建立切换标识是指如果媒体播放器在点播的节目初始化期间接收到用户输入的节目切换请求,则建立一个切换标识,对待切换的节目进行初始化或播放后该切换标识自动取消;修改切换标识是指媒体播放器中预先设置一个切换标识,如果在媒体播放器在点播的节目初始化期间接收到用户输入的节目切换请求,则修改该切换标识的状态,对待切换的节目进行初始化或播放后该切换标识自动复位。步骤S106:继续初始化。步骤S107:继续判断是否已经完成初始化,判断方法如步骤S103,是则转步骤S108,否则回到步骤S106。步骤S108:若机顶盒已回调OnPrepared方法,即初始化完成,则开始判断媒体播放器是否在初始化期间接收过用户的节目切换,如果媒体播放器在初始化期间接收过用户的节目切换,则转步骤S110,否则转步骤S109。判断的方式同样具有多种,例如本实施例中,可根据步骤S105中建立或者修改的切换标识判断媒体播放器是否在初始化期间接收过用户的节目切换。或者另一种实施方式中,还可根据媒体播放器是否保存有待切换的节目所对应的切换信息进行判断,如果有则表明初始化期间接收过用户的节目切换,否则表明未在初始化期间接收过用户的节目切换,当然为了避免媒体播放器中始终保存有本次待切换的节目而对下一次节目点播和切换过程中的判断造成干扰,对本次待切换的节目进行初始化或播放后应当擦除保存的待切换的节目所对应的切换信息。步骤S109:直接播放用户点播的、已经完成初始化的节目,然后可回到步骤S101等待用户的下一次节目点播。步骤S110:根据保存的待切换的节目所对应的切换信息,对待切换的节目进行初始化,然后循环重复步骤S103之后的过程,具体处理流程依然是:媒体播放器接收用户输入的节目点播请求,根据该节目点播请求开启线程,将点播节目作为要播放的节目进行初始化;在完成要播放节目的初始化期间,如果媒体播放器接收到用户输入的节目切换请求,则保存请求切换的节目所对应的切换信息;判断是否完成要播放节目的初始化,如果是则判断媒体播放器是否在初始化期间接收过用户的节目切换请求,如果有则将待切换的节目切换为要播放的节目并对其进行初始化,如果没有待切换的节目则直接播放已完成初始化的节目。当已完成初始化的节目有多个时,可直接播放最近完成初始化的节目,也可允许用户在多个已完成初始化的节目中进行选择,根据用户的选择进行播放。如图2所示,本发明还保护了一种用于实现以上媒体点播控制方法的媒体播放器,包括点播控制模块10、初始化模块20、初始化判断模块30、切换控制模块40、切换判断模块50、切换信息存储模块60、播放模块70。其中,点播控制模块10用于接收用户输入的节目点播请求。初始化模块20用于根据点播控制模块10接收的节目点播请求开启线程对点播的节目进行初始化。初始化判断模块30用于判断初始化模块20是否完成初始化,例如一种实施方式中,该初始化判断模块30中设有监听模块,用于监听媒体播放器是否回调Onprepared方法,如果媒体播放器回调Onprepared方法则表明已经完成初始化。当然初始化判断模块30也可采用以上媒体点播控制方法中描述的方式,根据初始化状态标识或计时时间判断初始化模块20是否完成初始化。切换控制模块40用于在初始化模块20执行初始化期间,接收用户输入的节目切换请求,并通过切换信息存储模块60保存待切换的节目所对应的切换信息。如果仅接收到一次节目切换,则切换信息存储模块60直接保存该次切换的节目所对应的切换信息,如果接收到用户的多次节目切换,则切换信息存储模块60可分别保存各次切换的节目所对应的切换信息,优选地,切换信息存储模块60按照节目切换的先后顺序,覆盖保存用户切换的节目所对应的切换信息,最终仅保存最后一次用户切换的节目所对应的切换信息。针对媒体播放器不同的点播方式,保存的切换信息可包括本地播放地址或者网络播放链接地址等信息。一种实施方式中,媒体播放器还包括切换标识模块,该切换标识模块也可根据需要设置在切换控制模块40中,用于在初始化期间当切换控制模块40接收到用户输入的节目切换请求时建立或修改切换标识,以便切换判断模块50判断初始化期间切换控制模块40是否接收过用户的节目切换请求。切换判断模块50用于在初始化模块20完成初始化之后,判断切换控制模块40是否在初始化期间接收过用户的节目切换。例如一种实施方式中,可根据切换标识模块中的切换标识进行判断,即:如果存在切换标识或者切换标识的状态表示初始化期间接收过节目切换,则表明切换控制模块40在初始化期间接收过用户的节目切换,否则表明切换控制模块40未在初始化期间接收过用户的节目切换。另一种实施方式中,还可通过判断切换信息存储模块60中是否保存有待切换的节目所对应的切换信息而进行判断。如果判断切换控制模块40在初始化期间接收过用户的节目切换,则通过初始化模块20对待切换的节目进行初始化,并在初始化完成后通过播放模块70进行播放,否则直接通过播放模块70播放用户点播的节目。本实施方式的媒体播放器可为机顶盒、手机、电脑或收音机等多种用于实现媒体播放的终端。本发明的媒体点播控制方法和媒体播放器优先完成用户最初点播的节目的初始化过程,不在该过程中对用户请求切换的节目进行处理,仅保留待切换的节目所对应的切换信息,避免了点播的节目在初始化期间进行节目切换对初始化过程造成干扰,即使用户在初始化期间进行了多次节目切换,也不会因点播的节目尚未完成初始化又切换至下一节目而导致状态冲突、对象死锁等现象,更不会造成媒体播放器假死、长时间等待或者死机等现象,因此确保了媒体播放器能够流畅地实现节目点播和节目切换,对现有的媒体播放方式形成有益补充,同时极大地提高了用户的体验度和满意度。以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1