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

技术编号:3630417 阅读:241 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种通过状态伺服以协调媒体处理事件的方法,包含以下步骤:一、获取视频连接,投递给播放插件播放;二、启动播放,扫描状态,循环判断当前状态是否下载完毕;三、循环判断当前帧和上次扫描记录的帧数是否有变化,当前帧是否大于等于总帧数;四、判断是否跳帧,如果步骤三中当前帧和上次扫描记录的帧数无变化,则跳帧到当前帧的下一帧,启动播放事件,继续播放,直到当前帧大于等于总帧数时播放结束。本发明专利技术增强了对网络媒体的可控性,能有效协调媒体播放过程与WEB页面展现过程的一致性,可减少用户操作,增加播放的连贯性,提供给用户更方便的欣赏环境。

【技术实现步骤摘要】

本专利技术属于计算机与应用
,涉及一种媒体播放方法以及媒体 状态协调控制方法,尤其涉及一种通过状态伺服以协调媒体处理事件的方 法。
技术介绍
多媒体技术及互联网技术的发展,促进了人们对网络视频,音频,特别是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>table see original document page 7</column></row><table><table>table see original document page 8</column></row><table>(l)在某个网本文档来自技高网
...

【技术保护点】
一种通过状态伺服以协调媒体处理事件的方法,其特征在于,包含以下步骤: 一、获取视频连接,投递给播放插件播放; 二、启动播放,扫描状态,循环判断当前状态是否下载完毕; 三、循环判断当前帧和上次扫描记录的帧数是否有变化,当前帧 是否大于等于总帧数; 四、判断是否跳帧,如果步骤三中当前帧和上次扫描记录的帧数无变化,则跳帧到当前帧的下一帧,启动播放事件,继续播放,直到当前帧大于等于总帧数时播放结束。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈少坡
申请(专利权)人:盛乐信息技术上海有限公司
类型:发明
国别省市:31[中国|上海]

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

1