通过状态伺服以协调媒体处理事件的方法

文档序号:6608495阅读:145来源:国知局

专利名称::通过状态伺服以协调媒体处理事件的方法
技术领域
:本发明属于计算机与应用
技术领域
,涉及一种媒体播放方法以及媒体状态协调控制方法,尤其涉及一种通过状态伺服以协调媒体处理事件的方法。
背景技术
:多媒体技术及互联网技术的发展,促进了人们对网络视频,音频,特别是Flash动画欣赏需求的增加。这其中,视频与动画是不同的概念。视频是一段基于时间连续的影视媒体,动画则是由一系列分别运动的界面元件组成。而实lk动画效果的主要方式,有时间线与序列帧两种模式——从这个角度上来看,视频可以看作单一时间线的、帧间隔相同的动画。因此,事实上视频(包括网络视频流媒体)也可以作为一个动画作品中某个界面元件中的、独立的渲染方式。一般来讲,动画通常是通过多条时间线或多层序列帧控制来实现的,flash动画就是这种实现模式。而Silverlight(Silverlight是一个跨浏览器的、跨平台的插件,为网络带来下一代基于.NET的媒体体验和丰富的交互式应用程序)则使用带标记(marker)的视频来充当界面元件的渲染效果(相当于独立的时间线),并通过复合和控制界面元件来实现动画(相当于序列帧方式)。在可控制、可编程特性上,这所有的实现技术都存在一个问题程序开发环境或应用环境中,是否公布(public)足够的媒体处理事件,决定了它的可控制与可编程能力。例如如果没有公布0nStop(结束播放)事件,则界面上的一个显示媒体/动画"是否正在播放"的状态灯就不能开关,因为这一过程需要OnStop事件来触发。然而,很多网络媒体播放器及其播放控件的外部使用接口中没有通用事件(例如启动、暂停或帧序列通知)。这意味着难于在应用环境中对这些媒体播放器及其播放控件进行控制,用户在使用中也可能难以得到媒体播放过程中的关键信息。一个更为具体的实例是某些Flash媒体播放的播放过程中,控制技术对缓冲完毕需要单击开始,因此无法自动完成播放。需要通过干预——单击"开始"按钮才能播放,这样的设计造成了用户的使用不方便,且缺乏播放的连贯性。
发明内容本发明要解决的技术问题是提供一种通过状态伺服以协调媒体处理事件的方法,增强了对网络媒体的可控性,能有效协调媒体播放过程与WEB页面展现过程的一致性,可减少用户操作,增加播放的连贯性,提供给用户更方便的欣赏环境。为解决上述技术问题,本发明一种通过状态伺服以协调媒体处理事件的方法,包含以下步骤一、获取视频连接,投递给播放插件播放;二、启动播放,扫描状态,循环判断当前状态是否下载完毕;三、循环判断当前帧和上次扫描记录的帧数是否有变化,当前帧是否大于等于总帧数;四、判断是否跳帧,如果步骤三中当前帧和上次扫描记录的帧数无变化,则跳帧到当前帧的下一帧,启动播放事件,继续播放,直到当前帧大于等于总帧数时播放结束。在步骤二中,包括记录当前帧帧数及总帧数。当进行快进预览处理时,该方法的步骤三和步骤四由如下步骤代替A.获取外部跳帧数,计算下次应该跳到的帧数;B.循环判断当前帧数是否等于外部跳帧数,当前帧是否大于等于总帧数;C.如果当前帧数等于外部跳帧数,则跳帧到下次应该跳到的帧数,指定当前播放帧,再给发启动播放事件进行播放,直到当前帧大于等于总帧数时播放结束。所述的循环判断过程设定为每1/30秒时间判断一次。本发明的有益效果在于:针对网络媒体播放器及其播放控件的外部使用接口中没有通用事件(例如启、停或帧序列通知)的问题,本发明提出通过状态伺服检测媒体回放过程,并向外部系统提供通用事件的方法。该方法大大增强了对网络媒体的可控性,能够有效协调媒体播放过程与WEB页面展现过程的一致性,可以减少用户操作,增加播放的连贯性,提供给用户更方便的欣赏环境。图1是在自动播放时本发明方法的流程图2是在快进预览处理时本发明方法的流程图。具体实施例方式本发明通过状态伺服以协调媒体处理事件的方法,其工作原理主要如下扫描判断视频帧的顺序变化,当状态为播放时,帧序无变化时,使用跳帧,跳过视频控制区,然后继续播放。媒体播放中的变化过程虽然没有通过事件被公开出来,但是可以发现,为了方便用户在界面上看到播放的进度,媒体播放器通常会公开这些进度相关的信息。在Flash中该信息被称为(场景的)当前帧数;在Silver-light中也有相关的信息——另外还有为标记(marker)设置的触发信息,但这里主要关注"当前帧数"这一状态。帧数的变化可以表达"播放系统"内部的一些事件信息,例如当帧数从0变成大于0,则表明是"0nStart"(开始播放)事件。如此类推,通过对"当前帧数"这一状态的伺服观察,可以识别到系统中的所有事件,并通过开发接口的形式公布(public)出来,使得开发人员有机会通过这些接口来协议媒体的处理事件。在本发明的技术方案中,为了保证体系的完整性,所伺服的状态信息还包括网络连接。这用于公布(public)Web媒体部分或全部的"下载是否完成"的事件信息,只有当下载完成时,对媒体的"当前帧数"信息进行伺服观察才是有意义的。如图1所示,在自动播放时,本发明包括如下步骤1.控制媒体数据,获取视频连接,投递给播放插件播放。2.启动播放,扫描状态,循环判断当前状态是否下载完毕,记录当前帧帧序数和总帧数,判断是否缓冲下载完毕,如下载完毕,可进入步骤3,否则仍进行循环判断当前状态是否下载完毕,该循环判断过程可以设定为每l/30秒时间判断一次。3.循环判断当前帧和上次扫描记录的帧数是否有变化,当前帧是否大于等于总帧数,该循环判断过程可以设定为每1/30秒时间判断一次。4.判断是否跳帧,当步骤3当前帧和上次扫描记录的帧数无变化时,则跳帧到当前帧的下一帧,再给发启动播放事件,继续播放;当步骤3当前帧和上次扫描记录的帧数有变化时,回到步骤3的循环判断过程;5.直到当前帧大于等于总帧数时播放结束。如图2所示,在快进预览处理时,本发明包括如下步骤1.控制媒体数据,获取视频连接,投递给播放插件播放。2.启动播放,扫描状态,循环判断当前状态是否下载完毕,记录当前帧帧序数和总帧数,判断是否缓冲下载完毕,如下载完毕,可进入步骤3,否则仍进行循环判断当前状态是否下载完毕,该循环判断过程可以设定为每l/30秒时间判断一次。3.获取外部跳帧数(外部跳帧数指播放界面指定的需要跳到的帧数),计算下次应该跳到的帧数。4.循环判断当前帧数是否等于外部跳帧数,当前帧是否大于等于总帧数,该循环判断过程可以设定为每1/30秒时间判断一次。5.如果当前帧数等于外部跳帧数,则跳帧到下次应该跳到的帧数,指定当前播放帧,再给发启动播放事件进行播放;如果当前帧数不等于外部跳帧数,则回到步骤4的循环判断过程。6.当前播放帧大于等于总帧数时,停止播放。下表说明上述步骤中的主要判断依据:<table>tableseeoriginaldocumentpage7</column></row><table><table>tableseeoriginaldocumentpage8</column></row><table>(l)在某个网络状态伺服过程结束后,下载完成并得到总帧数z。(2)可以通过Y-X得到跳帧数。当用户指定外部跳帧数时,若该跳帧数与外部跳帧数不能协调时,则触发新的下载过程(部分媒体可能是多次获取的)。(3)处于网络状态伺服的过程中,Y指向伺服结束后应播放的开始帧。权利要求1、一种通过状态伺服以协调媒体处理事件的方法,其特征在于,包含以下步骤一、获取视频连接,投递给播放插件播放;二、启动播放,扫描状态,循环判断当前状态是否下载完毕;三、循环判断当前帧和上次扫描记录的帧数是否有变化,当前帧是否大于等于总帧数;四、判断是否跳帧,如果步骤三中当前帧和上次扫描记录的帧数无变化,则跳帧到当前帧的下一帧,启动播放事件,继续播放,直到当前帧大于等于总帧数时播放结束。2、根据权利要求1所述的通过状态伺服以协调媒体处理事件的方法,其特征在于,在步骤二中,包括记录当前帧帧数及总帧数。3、根据权利要求1或2所述的通过状态伺服以协调媒体处理事件的方法,其特征在于,当进行快进预览处理时,该方法的步骤三和步骤四由如下步骤代替A.获取外部跳帧数,计算下次应该跳到的帧数;B.循环判断当前帧数是否等于外部跳帧数,当前帧是否大于等于总帧数;C.如果当前帧数等于外部跳帧数,则跳帧到下次应该跳到的帧数,指定当前播放帧,再给发启动播放事件进行播放,直到当前帧大于等于总帧数时播放结束。4、根据权利要求1所述的通过状态伺服以协调媒体处理事件的方法,其特征在于,所述的循环判断过程设定为每1/30秒时间判断一次。5、根据权利要求3所述的通过状态伺服以协调媒体处理事件的方法,其特征在于,所述的循环判断过程设定为每1/30秒时间判断一次。全文摘要本发明公开了一种通过状态伺服以协调媒体处理事件的方法,包含以下步骤一、获取视频连接,投递给播放插件播放;二、启动播放,扫描状态,循环判断当前状态是否下载完毕;三、循环判断当前帧和上次扫描记录的帧数是否有变化,当前帧是否大于等于总帧数;四、判断是否跳帧,如果步骤三中当前帧和上次扫描记录的帧数无变化,则跳帧到当前帧的下一帧,启动播放事件,继续播放,直到当前帧大于等于总帧数时播放结束。本发明增强了对网络媒体的可控性,能有效协调媒体播放过程与WEB页面展现过程的一致性,可减少用户操作,增加播放的连贯性,提供给用户更方便的欣赏环境。文档编号G06F17/30GK101431639SQ20071009421公开日2009年5月13日申请日期2007年11月9日优先权日2007年11月9日发明者陈少坡申请人:盛乐信息技术(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1