一种多终端Flash同步播放的方法和系统的制作方法

文档序号:7763673阅读:316来源:国知局
专利名称:一种多终端Flash同步播放的方法和系统的制作方法
技术领域
本发明涉及Flash技术领域,特别是涉及一种多终端Flash同步播放的方法和系 统。
背景技术
Flash是一种高效的信息转播载体,由于其独特的时间片段分割(TimeLine)和重 组(MC嵌套)技术,结合ActionScitp的对象和流程控制,使得在灵活的界面设计和动画设 计成为可能,同时它也是最为小巧的前台。Flash具有跨平台的特性,所以无论处于何种平 台,只要安装了支持的Flash播放器,就可以保证它们的最终显示效果的一致。Flash的屏 幕显示被广泛的应用在户外广告、公共交通、宣传展览等各个领域。有些场合需要多个显示 屏幕同时进行同一画面的视频显示,例如,不同公交车上的多个显示终端上的Flash播放。 多屏幕显示最重要的一项技术就是需要保持多个画面的视频同步播放。对嵌入了脚本命令的Flash实现多终端的精准同步播放比较麻烦,通常的方法 是,各个播放终端同时触发进行Flash播放,以保证开始播放时间的一致性。但是,由于各 个播放终端的自身条件具有一定的差异,如运行的快慢、或遇到死机重启等突发事件,因 此,虽然开始播放时间相同,但也无法保证同一 Flash在各个终端上的播放过程严格同步。总之,需要本领域技术人员迫切解决的一个技术问题就是如何能够提供一种多 终端上的Flash播放的技术,实现较好的Flash同步效果。

发明内容
本发明所要解决的技术问题是提供一种多终端Flash同步播放的方法和系统,可 以实现播放过程中各个终端上的同步。为了解决上述问题,本发明公开了一种多终端Flash同步播放的方法,包括网络服务器将Flash文件和文件属性信息发送至各个播放终端;各个播放终端依据接收到Flash文件和文件属性信息生成时间关联列表,所述时 间关联列表记录有Flash文件对应的开始播放时间;各个播放终端按照时间关联列表加载相应的Flash文件进行播放;依据本地的当前系统时间和所述时间关联列表进行同步播放定位校准。进一步,所述文件属性信息包括文件列表的开始播放时间、文件列表的结束播放 时间、文件名、及其对应的帧率和文件时长;其中,N个Flash文件对应一个文件列表,N大 于等于1。进一步,所述各个播放终端依据接收到Flash文件列表和文件属性信息生成时间 关联列表,具体为对于第一个Flash文件,记录其文件序号为0,记录其开始播放时间为所述文件 列表的开始播放时间,其结束播放时间为所述文件列表的开始播放时间加上所述Flash 文件的文件时长;
对于第η个Flash文件,记录其文件序号为n_l,记录其开始播放时间为第n_l个 Flash文件的结束播放时间,其结束播放时间为第η个Flash文件的开始播放时间加上第 η个Flash文件的文件时长;η = 2,3,4......N。进一步,所述各个播放终端依据接收到Flash文件列表和文件属性信息生成时间 关联列表,还包括当第η个Flash文件的结束播放时间小于文件列表的结束播放时间时,从第一个 Flash文件顺次开始,通过时间累加扩充时间关联列表的记录,具体为对于第一个Flash文件,记录其文件序号累加N,记录其开始播放时间为第η个 Flash文件的结束播放时间,其结束播放时间为新记录的第一个Flash文件的开始播放时 间加上第一个Flash文件的文件时长;对于第η个Flash文件,记录其文件序号累加N,记录其开始播放时间为第n_l个 Flash文件的结束播放时间,其结束播放时间为新记录的第η个Flash文件的开始播放时 间加上第η个Flash文件的文件时长;η = 2,3,4......N;依次记录并返回循环执行,直至时间关联列表中最后一个Flash文件的结束播放 时间大于所述文件列表的结束播放时间。进一步,所述各个播放终端按照时间关联信息加载相应的Flash文件进行播放, 包括判断时间关联列表中的序号总数是否大于等于预置阈值,若否,则按照文件序号由小 到大的顺序查找实际播放的Flash文件的文件序号;若是,则采用二分法查找实际播放的 Flash文件的文件序号;加载查找到的文件序号对应的Flash文件,进行Flash播放。其中,当所查找的Flash文件的开始播放时间小于等于当前系统时间、并且当前 系统时间小于所述Flash文件的下个文件的开始播放时间时,将该Flash文件的文件序号 作为实际播放的Flash文件的文件序号。优选的,依据本地的当前系统时间和所述时间关联列表进行文件序号的同步定位 校准,其包括在播放过程中,每隔预置时间间隔,判断当前播放的Flash文件的文件序号是否 满足序号校准条件;当满足序号校准条件时,查找实际播放的Flash文件的文件序号;卸载 当前播放的Flash文件,加载查找到的文件序号对应的Flash文件,进行Flash播放;其中, 所述序号校准条件为当前系统时间小于当前播放的Flash文件的开始播放时间,或者当 前系统时间大于等于当前播放的Flash文件的下个文件的开始播放时间。进一步,所述查找实际播放的Flash文件的文件序号具体为当前系统时间大于当前播放的Flash文件的开始播放时间时,如果当前系统时间 大于等于当前所查找的Flash文件的开始播放时间并且当前系统时间小于当前所查找的 Flash文件的下个文件的开始播放时间,则将当前所查找的Flash文件的文件序号作为实 际播放的Flash文件的文件序号;当前系统时间小于等于当前播放的Flash文件的开始播放时间时,如果当前系统 时间大于等于当前所查找的Flash文件的前一个文件的开始播放时间并且当前系统时间 小于当前所查找的Flash文件的开始播放时间,则将当前所查找的Flash文件的前一个文 件的文件序号作为实际播放的Flash文件的文件序号。优选的,依据本地的当前系统时间和所述时间关联列表进行播放帧数的同步定位校准,其包括每隔预置时间间隔,将当前系统时间减去当前播放的Flash文件的开始播放时 间,得到的差值乘以所述Flash文件对应的帧率,计算得到所述Flash文件的实际播放帧 数;判断所述Flash文件的当前播放帧数是否满足帧数校准条件;当满足帧数校准条件时, 将所述Flash文件的当前播放帧数调整为所述实际播放帧数;其中,所述帧数校准条件为 当前播放帧数小于实际播放帧数减去参考帧数的差值,所述参考帧数为所述Flash文件的 帧率值的二分之一。此外,本发明还公开了一种多终端Flash同步播放的系统,包括网络服务器和多 个播放终端;所述网络服务器包括第一通讯模块,用于将Flash文件和文件属性信息发送至各个播放终端;所述播放终端包括第二通讯模块,用于接收网络服务器发送的Flash文件和文件属性信息;时间关联模块,用于依据接收到Flash文件和文件属性信息生成时间关联列表, 所述时间关联列表记录有Flash文件对应的开始播放时间;Flash播放模块,用于按照时间关联列表加载相应的Flash文件进行播放;定位校准模块,用于依据本地的当前系统时间和所述时间关联列表进行同步播放 定位校准。进一步,所述文件属性信息包括文件列表的开始播放时间、文件列表的结束播放 时间、文件名、及其对应的帧率和文件时长;其中,N个Flash文件对应一个文件列表,N大 于等于1。进一步,所述时间关联模块对于第一个Flash文件,记录其文件序号为0,记录其 开始播放时间为所述文件列表的开始播放时间,其结束播放时间为所述文件列表的开 始播放时间加上所述Flash文件的文件时长;对于第η个Flash文件,记录其文件序号为n_l,记录其开始播放时间为第n_l个 Flash文件的结束播放时间,其结束播放时间为第η个Flash文件的开始播放时间加上第 η个Flash文件的文件时长;η = 2,3,4......N。其中,当第η个Flash文件的结束播放时间小于文件列表的结束播放时间时,所述 时间关联模块从第一个Flash文件顺次开始,通过时间累加扩充时间关联列表的记录,具 体为对于第一个Flash文件,记录其文件序号累加N,记录其开始播放时间为第η个 Flash文件的结束播放时间,其结束播放时间为新记录的第一个Flash文件的开始播放时 间加上第一个Flash文件的文件时长;对于第η个Flash文件,记录其文件序号累加N,记录其开始播放时间为第n_l个 Flash文件的结束播放时间,其结束播放时间为新记录的第η个Flash文件的开始播放时 间加上第η个Flash文件的文件时长;η = 2,3,4......N;依次记录并返回循环执行,直至时间关联列表中最后一个Flash文件的结束播放 时间大于所述文件列表的结束播放时间。进一步,所述Flash播放模块包括
第一序号查找子模块,用于判断时间关联列表中的序号总数是否大于等于预置阈 值,若否,则按照文件序号由小到大的顺序查找实际播放的Flash文件的文件序号;若是, 则采用二分法查找实际播放的Flash文件的文件序号;文件播放子模块,用于加载查找到 的文件序号对应的Flash文件,进行Flash播放。其中,当所查找的Flash文件的开始播放时间小于等于当前系统时间、并且当前 系统时间小于所述Flash文件的下个文件的开始播放时间时,将该Flash文件的文件序号 作为实际播放的Flash文件的文件序号。优选的,所述定位校准模块包括序号条件判断子模块用于在播放过程中,每隔预置时间间隔,判断当前播放的 Flash文件的文件序号是否满足序号校准条件,并在满足时触发第二序号查找子模块;第 二序号查找子模块,用于在满足序号校准条件时,查找实际播放的Flash文件的文件序号; 则所述文件播放子模块卸载当前播放的Flash文件,加载查找到的文件序号对应的Flash 文件,进行Flash播放;其中,所述序号校准条件为当前系统时间小于当前播放的Flash 文件的开始播放时间,或者当前系统时间大于等于当前播放的Flash文件的下个文件的开 始播放时间。进一步,所述第二序号查找子模块查找实际播放的Flash文件的文件序号具体 为当前系统时间大于当前播放的Flash文件的开始播放时间时,如果当前系统时间 大于等于当前所查找的Flash文件的开始播放时间并且当前系统时间小于当前所查找的 Flash文件的下个文件的开始播放时间,则将当前所查找的Flash文件的文件序号作为实 际播放的Flash文件的文件序号;当前系统时间小于等于当前播放的Flash文件的开始播放时间时,如果当前系统 时间大于等于当前所查找的Flash文件的前一个文件的开始播放时间并且当前系统时间 小于当前所查找的Flash文件的开始播放时间,则将当前所查找的Flash文件的前一个文 件的文件序号作为实际播放的Flash文件的文件序号。优选的,所述定位校准模块还包括帧数计算子模块,用于每隔预置时间间隔,将当前系统时间减去当前播放的Flash 文件的开始播放时间,得到的差值乘以所述Flash文件对应的帧率,计算得到所述Flash文 件的实际播放帧数;帧数条件判断子模块,用于判断所述Flash文件的当前播放帧数是否 满足帧数校准条件;帧数调整子模块,用于当满足帧数校准条件时,将所述Flash文件的当 前播放帧数调整为所述实际播放帧数;其中,所述帧数校准条件为当前播放帧数小于实 际播放帧数减去参考帧数的差值,所述参考帧数为所述Flash文件的帧率值的二分之一。与现有技术相比,本发明具有以下优点本发明各个播放终端的Flash文件和文件属性信息均来源于同一服务端,因此生 成的由于时间关联列表的内容是一致的,进一步,依据本地的当前系统时间和所生成时间 关联列表进行同步播放定位校准。因此各个播放终端在运行出现差异时差异,在相同的播 放时间下,按照时间关联列表所计算出的实际播放帧数是相同的,保证了各个播放终端之 间的播放进度同步。进一步,本发明每隔预置时间间隔判断所述Flash文件是否满足校准条件,在当前播放帧数与实际播放帧数差异较小时不做调整,在同步播放的同时保证了播放画面的流 畅性。


图1是本发明一种多终端Flash同步播放的方法实施例的流程图;图2是本发明一种多终端Flash同步播放的系统实施例的结构图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。参照图1,示出了本发明一种多终端Flash同步播放的方法实施例一的流程图,包 括步骤101,网络服务器将Flash文件和文件属性信息发送至各个播放终端;首先,网络服务器端将需要同步播放的Flash文件发送至各个播放终端,以保证 多个播放终端能够显示相同内容的Flash画面,所述Flash文件可以是多个。所述文件属性信息包括文件列表的播放开始时间、文件列表的播放结束时间、文 件名、及其对应的帧率和文件时长;其中,η个Flash文件对应一个文件列表,η大于等于 1。所述帧率为每秒播放的帧的个数,所述文件时长为该Flash文件播放一遍的时间长度。 需要说明的是,所述文件名、帧率和文件时长与各个Flash文件具有一一对应的关系,一般 的,可以以文件名列表、帧率列表和文件时长列表,即列表的形式记录相关信息。所述文件 列表是针对于终端屏幕上的一个播放区域而言的,每个播放区域都有各自的文件列表,处 于同一播放区域中的Flash文件都是顺序播放。则文件列表的播放开始时间、文件列表的 播放结束时间是针对η个Flash文件总的播放而言的。文件列表的结束播放时间减去文件列表的开始播放时间,即为η个Flash文件的 播放持续时间。各个Flash文件的文件时长总和可以等于播放持续时间,则对应的η个 Flash文件顺序播放一遍;各个Flash文件的文件时长总和可以小于播放持续时间,则对应 的η个Flash文件顺序播放一遍后,从头开始循环重复播放直至到达文件列表的结束播放 时间;此外,各个Flash文件的文件时长总和也可以大于播放持续时间。所述文件列表的开 始播放时间和文件列表的结束播放时间依据用户的需求在网络服务器端进行设置。步骤102,各个播放终端依据接收到Flash文件和文件属性信息生成时间关联列 表,所述时间关联列表记录有Flash文件对应的开始播放时间;所述步骤102具体为对于第一个Flash文件,记录其文件序号为0,记录其开始播放时间为所述文件 列表的开始播放时间,其结束播放时间为所述文件列表的开始播放时间加上所述Flash 文件的文件时长;对于第η个Flash文件,记录其文件序号为n_l,记录其开始播放时间为第n_l个 Flash文件的结束播放时间,其结束播放时间为第η个Flash文件的开始播放时间加上第
η个Flash文件的文件时长;η = 2,3,4......N。需要说明的是,当前Flash文件的结束播
放时间即为下一个Flash文件的开始播放时间。下面举例进行具体说明,例如,播放终端接收到三个Flash文件,对应的文件属性信息如下
文件名帧率文件时长
FlashA 12fps 3”
Flashg 12fps 8”
FlashC 24fps 4”。
所述文件属性信息中的文件列表的开始播放时间为80000。则时间关联列表中记录如下信息
文件序号文件名开始播放时间
0Flash A80000
lFlash B80003
2Flash C800ll。
则Flash A的结束播放时间为80003,Flash B的结束播放时间为80011,Flash C的结束播放时间为80015。
进一步,所述各个播放终端依据接收到Flash文件列表和文件属性信息生成时间关联列表,还包括当第n个Flash文件的结束播放时间小于文件列表的结束播放时间时,从第一个Flash文件顺次开始,通过时间累加扩充时间关联列表的记录;
具体的,对于第一个Flash文件,记录其文件序号累加N,记录其开始播放时间为第n个Flash文件的结束播放时间,记录其结束播放时间为新记录的第一个Flash文件的开始播放时间加上第一个Flash文件的文件时长;[OOa] 对于第n个Flash文件,记录其文件序号累加N,记录其开始播放时间为第n—1个Flash文件的结束播放时间,其结束播放时间为新记录的第n个Flash文件的开始播放时间加上第n个Flash文件的文件时长;n一2,3,4……N;
依次记录并返回循环执行,直至时间关联列表中最后一个Flash文件的结束播放时间大于所述文件列表的结束播放时间。
例如,所述文件属性信息中的文件列表的结束播放时间为80032。
添加一条记录,对于第一个Flash文件,记录其开始播放时间为FlashC的结束播放时间80015,其结束播放时间为新记录的开始播放时间80015加上3秒,为80018,其文件序号由0累加3变为3。对于Flash B,记录其开始播放时间为80018,其结束播放时间为80018加上8秒,为80026,其文件序号由l累加3变为4;依次记录。直到最后一个Flash文件的结束播放时间大于所述文件列表的结束播放时间80032。
文件序号 文件名开始播放时间
0Flash A80000
lFlash B80003
2Flash C800l l
3Flash A80015
4Flash B80018
5Flash C80026
6Flash A80030。
由上述记录可以看出,三个Flash文件循环顺次添加到时间关联列表中,文件序号6对应的Flash A的结束播放时间为8:00:30加上3秒大于文件列表的结束播放时间 8:00:32,因此,停止扩充时间关联列表。需要说明的是,时间关联列表扩充添加时,对应的文件名、帧率、文件时长也同样 往相对应的列表中重复存入,以确保序号与文件属性的一致性。其体现出来的效果就是3 个文件都播放完毕之后重新从第一个开始播,直到达到结束播放的时间。步骤103,各个播放终端按照时间关联列表加载相应的Flash文件进行播放;各个播放终端依据所生成的时间关联信息的排程内容,在对应的时间选择相应的 Flash文件进行加载播放。具体的,所述步骤103包括子步骤1031,判断时间关联列表中的序号总数是否超过预置阈值,若否,则按照文 件序号由小到大的顺序查找实际播放的Flash文件的文件序号;若是,则采用二分法查找 实际播放的Flash文件的文件序号;子步骤1032,加载查找到的文件序号对应的Flash文件,进行Flash播放。完成时间的关联信息之后,就开始查找当前实际要播放的文件序号。例如,所述预 置阈值为100,则先判断扩充后的文件序号总个数是否超过100,小于100就顺序从第0号 开始从小到大顺次查找;如果文件序号总个数大于等于100,就采用二分查找法快递查找。 下面对二分法的查找方式进行具体说明假设文件序号总数为120,则将第60个Flash文 件的开始播放时间与当前系统时间进行比较,如果大于当前系统时间,则在第60个Flash 文件的前半部分进行查找;否则第60个Flash文件的后半部分进行查找。则通过二分法进 行查找,每次运算后,查找的目标内容减少一半,提高了的运行速率。进一步,当所查找的Flash文件的开始播放时间小于等于当前系统时间、并且当 前系统时间小于所述Flash文件的下个文件的开始播放时间时,将该Flash文件的文件序 号作为实际播放的Flash文件的文件序号。也就是说,当所查找的Flash文件的开始播放时 间等于当前系统时间时,所述Flash文件刚要开始播放,作为播放文件;当所查找的Flash 文件的开始播放时间小于当前系统时间,且当前系统时间小于所述Flash文件的下个文件 的开始播放时间时,所述Flash文件处于播放过程中,继续作为当前播放的Flash文件进行 播放。步骤104,依据本地的当前系统时间和所述时间关联列表进行同步播放定位校准。所述同步播放定位校准包括文件序号的校准和播放帧数的校准。其中,依据本地的当前系统时间和所述时间关联列表进行文件序号的同步定位校 准,包括如下子步骤子步骤1041,在播放过程中,每隔预置时间间隔,判断当前播放的Flash文件的文 件序号是否满足序号校准条件;子步骤1042,当满足序号校准条件时,查找实际播放的Flash文件的文件序号;其中,所述序号校准条件为当前系统时间小于当前播放的Flash文件的开始播 放时间,或者当前系统时间大于等于当前播放的Flash文件的下个文件的开始播放时间。所述查找实际播放的Flash文件的文件序号具体为当前系统时间大于当前播放的Flash文件的开始播放时间时,如果当前系统时间 大于等于当前所查找的Flash文件的开始播放时间并且当前系统时间小于当前所查找的 Flash文件的下个文件的开始播放时间,则将当前所查找的Flash文件的文件序号作为实际播放的Flash文件的文件序号;当前系统时间小于等于当前播放的Flash文件的开始播放时间时,如果当前系统 时间大于等于当前所查找的Flash文件的前一个文件的开始播放时间并且当前系统时间 小于当前所查找的Flash文件的开始播放时间,则将当前所查找的Flash文件的前一个文 件的文件序号作为实际播放的Flash文件的文件序号。子步骤1043,卸载当前播放的Flash文件,加载查找到的文件序号对应的Flash文 件,进行Flash播放。其中,所述依据本地的当前系统时间和所述时间关联列表进行播放帧数的同步定 位校准,包括如下子步骤子步骤1044,每隔预置时间间隔,将当前系统时间减去当前播放的Flash文件的 开始播放时间,得到的差值乘以所述Flash文件对应的帧率,计算得到所述Flash文件的实 际播放帧数;在Flash文件的播放过程中,每间隔一定的预置时间就对所述Flash文件进行一 次同步播放的定位校准。所述预置时间间隔可以根据用户的要求进行不同的设置,通常的, 所述预置时间间隔为几秒。当预置时间间隔较长时,则各个播放终端需要等待较长时间进 行一次同步定位校准,节约了网络资源的传输流量;当同步时间间隔较短时,则各个播放终 端很快就能够进行一次同步定位校准,Flash画面的同步较为精准。具体的,首先计算实际播放帧数。例如,当前系统时间为8:00:20,针对序号为4的 Flash B,其开始播放时间为8:00:18,其帧率为12fps,则8 00 20时,当前系统时间-开始 播放时间=2秒,序号为4的Flash B的实际应播放的帧数为2X 12 = 24帧。子步骤1045,判断所述Flash文件的当前播放帧数是否满足帧数校准条件;其中,所述帧数校准条件为当前播放帧数小于实际播放帧数减去参考帧数的差 值,所述参考帧数为所述Flash文件的帧率值的二分之一。例如,针对上述Flash B,其帧率为12fps,则参考帧数为12/2 = 6帧。通过步骤 1041实际播放帧数为第24帧,24-6 = 18,则如果当前播放帧数大于等于18时,则说明当前 播放帧数与实际播放帧数的差值较小,不符合校准条件,则不必做校准调整;如果当前播放 帧数小于18时,则说明其与实际播放帧数的差值较大,符合校准条件,需要进行播放帧数 的校准调整,以使得各个播放终端的画面保持同步。在本发明实施例中,每隔预置时间间隔 判断所述Flash文件是否满足校准条件,在当前播放帧数与实际播放帧数差异较小时不做 调整,保证了播放画面的流畅性。子步骤1046,当满足帧数校准条件时,将所述Flash文件的当前播放帧数调整为 所述实际播放帧数;在所述Flash文件的当前播放帧数与实际播放帧数不一致的情况下,进行校准调 整。例如,Flash B的当前播放帧数为第15帧,则说明,该终端上的播放有延迟,相应的将 当前播放帧数调整为步骤1044计算得到的实际播放帧数24帧,使得该终端上的播放内容 与其他播放终端相一致。需要说明的是,本发明实施例只针对一个播放终端的同步播放定位进行具体说 明,每个播放终端上的同步播放调整方法相同。通过本发明实施例,由于各个播放终端的 Flash文件和文件属性信息均来源于同一服务端,因此,在运行出现差异时差异,在相同的播放时间下,所计算出的实际播放帧数是相同的,保证了各个播放终端之间的播放进度同

少ο参照图2,示出了本发明一种多终端Flash同步播放的系统实施例的结构图,包括 网络服务器21和多个播放终端22 ;如图4所示,包括播放终端22A、播放终端22B、播放终 端22C......其中,所述网络服务器21包括第一通讯模块211,用于将Flash文件和文件属性信息发送至各个播放终端;所述播放终端22包括第二通讯模块221,用于接收网络服务器发送的Flash文件和文件属性信息;时间关联模块222,用于依据接收到Flash文件和文件属性信息生成时间关联列 表,所述时间关联列表记录有Flash文件对应的开始播放时间;Flash播放模块223,用于按照时间关联列表加载相应的Flash文件进行播放;定位校准模块324,用于依据本地的当前系统时间和所述时间关联列表进行同步 播放定位校准。进一步,所述文件属性信息包括文件列表的开始播放时间、文件列表的结束播放 时间、文件名、及其对应的帧率和文件时长;其中,N个Flash文件对应一个文件列表,N大 于等于1。进一步,所述时间关联模块对于第一个Flash文件,记录其文件序号为0,记录其 开始播放时间为所述文件列表的开始播放时间,其结束播放时间为所述文件列表的开 始播放时间加上所述Flash文件的文件时长;对于第η个Flash文件,记录其文件序号为n-1,记录其开始播放时间为第n_l个 Flash文件的结束播放时间,其结束播放时间为第η个Flash文件的开始播放时间加上第 η个Flash文件的文件时长;η = 2,3,4......N。进一步,当第η个Flash文件的结束播放时间小于文件列表的结束播放时间时,所 述时间关联模块从第一个Flash文件顺次开始,通过时间累加扩充时间关联列表的记录, 具体为对于第一个Flash文件,记录其文件序号累加N,记录其开始播放时间为第η个 Flash文件的结束播放时间,其结束播放时间为新记录的第一个Flash文件的开始播放时 间加上第一个Flash文件的文件时长;对于第η个Flash文件,记录其文件序号累加N,记录其开始播放时间为第n_l个 Flash文件的结束播放时间,其结束播放时间为新记录的第η个Flash文件的开始播放时 间加上第η个Flash文件的文件时长;η = 2,3,4......N;依次记录并返回循环执行,直至时间关联列表中最后一个Flash文件的结束播放 时间大于所述文件列表的结束播放时间。在本发明的一个优选实施例中,所述Flash播放模块包括第一序号查找子模块,用于判断时间关联列表中的序号总数是否大于等于预置阈 值,若否,则按照文件序号由小到大的顺序查找实际播放的Flash文件的文件序号;若是, 则采用二分法查找实际播放的Flash文件的文件序号;文件加载子模块,用于加载查找到的文件序号对应的Flash文件,进行Flash播放。当所查找的Flash文件的开始播放时间小于等于当前系统时间、并且当前系统时 间小于所述Flash文件的下个文件的开始播放时间时,将该Flash文件的文件序号作为实 际播放的Flash文件的文件序号。特别的,当当前播放的文件为文件列表中的第1个或最 后1个时,则无需再进行上述判断,直接进行记录。在本发明的另一个优选实施例中,所述定位校准模块包括序号条件判断子模块用于在播放过程中,每隔预置时间间隔,判断当前播放的 Flash文件的文件序号是否满足序号校准条件,并在满足时触发第二序号查找子模块;第二序号查找子模块,用于在满足序号校准条件时,查找实际播放的Flash文件 的文件序号;则所述文件播放子模块卸载当前播放的Flash文件,加载查找到的文件序号对应 的Flash文件,进行Flash播放;其中,所述序号校准条件为当前系统时间小于当前播放的Flash文件的开始播 放时间,或者当前系统时间大于等于当前播放的Flash文件的下个文件的开始播放时间。所述第二序号查找子模块查找实际播放的Flash文件的文件序号具体为当前系 统时间大于当前播放的Flash文件的开始播放时间时,如果当前系统时间大于等于当前所 查找的Flash文件的开始播放时间并且当前系统时间小于当前所查找的Flash文件的下个 文件的开始播放时间,则将当前所查找的Flash文件的文件序号作为实际播放的Flash文 件的文件序号;当前系统时间小于等于当前播放的Flash文件的开始播放时间时,如果当前系统 时间大于等于当前所查找的Flash文件的前一个文件的开始播放时间并且当前系统时间 小于当前所查找的Flash文件的开始播放时间,则将当前所查找的Flash文件的前一个文 件的文件序号作为实际播放的Flash文件的文件序号。在本发明的另一个优选实施例中,所述定位校准模块还包括帧数计算子模块,用于每隔预置时间间隔,将当前系统时间减去当前播放的Flash 文件的开始播放时间,得到的差值乘以所述Flash文件对应的帧率,计算得到所述Flash文 件的实际播放帧数;帧数条件判断子模块,用于判断所述Flash文件的当前播放帧数是否满足帧数校 准条件;帧数调整子模块,用于当满足帧数校准条件时,将所述Flash文件的当前播放帧 数调整为所述实际播放帧数;其中,所述帧数校准条件为当前播放帧数小于实际播放帧数减去参考帧数的差 值,所述参考帧数为所述Flash文件的帧率值的二分之一。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与 其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例 而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部 分说明即可。以上对本发明所提供的一种多终端Flash同步播放的方法和系统,进行了详细介 绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发 明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理 解为对本发明的限制。
权利要求
1. 一种多终端Flash同步播放的方法,其特征在于,包括 网络服务器将Flash文件和文件属性信息发送至各个播放终端;各个播放终端依据接收到Flash文件和文件属性信息生成时间关联列表,所述时间关 联列表记录有Flash文件对应的开始播放时间;各个播放终端按照时间关联列表加载相应的Flash文件进行播放; 依据本地的当前系统时间和所述时间关联列表进行同步播放定位校准。
2.如权利要求1所述的方法,其特征在于,所述文件属性信息包括文件列表的开始播放时间、文件列表的结束播放时间、文件 名、及其对应的帧率和文件时长;其中,N个Flash文件对应一个文件列表,N大于等于1。
3.如权利要求2所述的方法,其特征在于,所述各个播放终端依据接收到Flash文件列 表和文件属性信息生成时间关联列表,具体为对于第一个Flash文件,记录其文件序号为0,记录其开始播放时间为所述文件列表 的开始播放时间,其结束播放时间为所述文件列表的开始播放时间加上所述Flash文件 的文件时长;对于第η个Flash文件,记录其文件序号为n_l,记录其开始播放时间为第n_l个 Flash文件的结束播放时间,其结束播放时间为第η个Flash文件的开始播放时间加上第 η个Flash文件的文件时长;η = 2,3,4......N。
4.如权利要求3所述的方法,其特征在于,所述各个播放终端依据接收到Flash文件列 表和文件属性信息生成时间关联列表,还包括当第η个Flash文件的结束播放时间小于文件列表的结束播放时间时,从第一个Flash 文件顺次开始,通过时间累加扩充时间关联列表的记录,具体为对于第一个Flash文件,记录其文件序号累加N,记录其开始播放时间为第η个Flash 文件的结束播放时间,其结束播放时间为新记录的第一个Flash文件的开始播放时间加 上第一个Flash文件的文件时长;对于第η个Flash文件,记录其文件序号累加N,记录其开始播放时间为第n_l个 Flash文件的结束播放时间,其结束播放时间为新记录的第η个Flash文件的开始播放时间加上第η个Flash文件的文件时长;η = 2,3,4......N;依次记录并返回循环执行,直至时间关联列表中最后一个Flash文件的结束播放时间 大于所述文件列表的结束播放时间。
5.如权利要求1所述的方法,其特征在于,所述各个播放终端按照时间关联信息加载 相应的Flash文件进行播放,包括判断时间关联列表中的序号总数是否大于等于预置阈值,若否,则按照文件序号由小 到大的顺序查找实际播放的Flash文件的文件序号;若是,则采用二分法查找实际播放的 Flash文件的文件序号;加载查找到的文件序号对应的Flash文件,进行Flash播放。
6.如权利要求5所述的方法,其特征在于,当所查找的Flash文件的开始播放时间小于等于当前系统时间、并且当前系统时间小 于所述Flash文件的下个文件的开始播放时间时,将该Flash文件的文件序号作为实际播放的Flash文件的文件序号。
7.如权利要求1所述的方法,其特征在于,依据本地的当前系统时间和所述时间关联列表进行文件序号的同步定位校准,其包括在播放过程中,每隔预置时间间隔,判断当前播放的Flash文件的文件序号是否满足 序号校准条件;当满足序号校准条件时,查找实际播放的Flash文件的文件序号; 卸载当前播放的Flash文件,加载查找到的文件序号对应的Flash文件,进行Flash播放;其中,所述序号校准条件为当前系统时间小于当前播放的Flash文件的开始播放时 间,或者当前系统时间大于等于当前播放的Flash文件的下个文件的开始播放时间。
8.如权利要求7所述的方法,其特征在于,所述查找实际播放的Flash文件的文件序号 具体为当前系统时间大于当前播放的Flash文件的开始播放时间时,如果当前系统时间大于 等于当前所查找的Flash文件的开始播放时间并且当前系统时间小于当前所查找的Flash 文件的下个文件的开始播放时间,则将当前所查找的Flash文件的文件序号作为实际播放 的Flash文件的文件序号;当前系统时间小于等于当前播放的Flash文件的开始播放时间时,如果当前系统时间 大于等于当前所查找的Flash文件的前一个文件的开始播放时间并且当前系统时间小于 当前所查找的Flash文件的开始播放时间,则将当前所查找的Flash文件的前一个文件的 文件序号作为实际播放的Flash文件的文件序号。
9.如权利要求8所述的方法,其特征在于,依据本地的当前系统时间和所述时间关联列表进行播放帧数的同步定位校准,其包括每隔预置时间间隔,将当前系统时间减去当前播放的Flash文件的开始播放时间,得 到的差值乘以所述Flash文件对应的帧率,计算得到所述Flash文件的实际播放帧数; 判断所述Flash文件的当前播放帧数是否满足帧数校准条件; 当满足帧数校准条件时,将所述Flash文件的当前播放帧数调整为所述实际播放帧数;其中,所述帧数校准条件为当前播放帧数小于实际播放帧数减去参考帧数的差值,所 述参考帧数为所述Flash文件的帧率值的二分之一。
10.一种多终端Flash同步播放的系统,其特征在于,包括网络服务器和多个播放终端;所述网络服务器包括第一通讯模块,用于将Flash文件和文件属性信息发送至各个播放终端; 所述播放终端包括第二通讯模块,用于接收网络服务器发送的Flash文件和文件属性信息; 时间关联模块,用于依据接收到Flash文件和文件属性信息生成时间关联列表,所述 时间关联列表记录有Flash文件对应的开始播放时间;Flash播放模块,用于按照时间关联列表加载相应的Flash文件进行播放; 定位校准模块,用于依据本地的当前系统时间和所述时间关联列表进行同步播放定位 校准。
11.如权利要求10所述的系统,其特征在于,所述文件属性信息包括文件列表的开始播放时间、文件列表的结束播放时间、文件 名、及其对应的帧率和文件时长;其中,N个Flash文件对应一个文件列表,N大于等于1。
12.如权利要求11所述的系统,其特征在于,所述时间关联模块对于第一个Flash文件,记录其文件序号为0,记录其开始播放时间 为所述文件列表的开始播放时间,其结束播放时间为所述文件列表的开始播放时间加 上所述Flash文件的文件时长;对于第η个Flash文件,记录其文件序号为n_l,记录其开始播放时间为第n_l个 Flash文件的结束播放时间,其结束播放时间为第η个Flash文件的开始播放时间加上第 η个Flash文件的文件时长;η = 2,3,4......N。
13.如权利要求12所述的系统,其特征在于,当第η个Flash文件的结束播放时间小于文件列表的结束播放时间时,所述时间关联 模块从第一个Flash文件顺次开始,通过时间累加扩充时间关联列表的记录,具体为对于第一个Flash文件,记录其文件序号累加N,记录其开始播放时间为第η个Flash 文件的结束播放时间,其结束播放时间为新记录的第一个Flash文件的开始播放时间加 上第一个Flash文件的文件时长;对于第η个Flash文件,记录其文件序号累加N,记录其开始播放时间为第n_l个 Flash文件的结束播放时间,其结束播放时间为新记录的第η个Flash文件的开始播放时间加上第η个Flash文件的文件时长;η = 2,3,4......N;依次记录并返回循环执行,直至时间关联列表中最后一个Flash文件的结束播放时间 大于所述文件列表的结束播放时间。
14.如权利要求10所述的系统,其特征在于,所述Flash播放模块包括第一序号查找子模块,用于判断时间关联列表中的序号总数是否大于等于预置阈值, 若否,则按照文件序号由小到大的顺序查找实际播放的Flash文件的文件序号;若是,则采 用二分法查找实际播放的Flash文件的文件序号;文件播放子模块,用于加载查找到的文件序号对应的Flash文件,进行Flash播放。
15.如权利要求14所述的系统,其特征在于,当所查找的Flash文件的开始播放时间小于等于当前系统时间、并且当前系统时间小 于所述Flash文件的下个文件的开始播放时间时,将该Flash文件的文件序号作为实际播 放的Flash文件的文件序号。
16.如权利要求10所述的系统,其特征在于,所述定位校准模块包括序号条件判断子模块用于在播放过程中,每隔预置时间间隔,判断当前播放的Flash 文件的文件序号是否满足序号校准条件,并在满足时触发第二序号查找子模块;第二序号查找子模块,用于在满足序号校准条件时,查找实际播放的Flash文件的文 件序号;则所述文件播放子模块卸载当前播放的Flash文件,加载查找到的文件序号对应的 Flash文件,进行Flash播放;其中,所述序号校准条件为当前系统时间小于当前播放的Flash文件的开始播放时 间,或者当前系统时间大于等于当前播放的Flash文件的下个文件的开始播放时间。
17.如权利要求16所述的系统,其特征在于,所述第二序号查找子模块查找实际播放 的Flash文件的文件序号具体为当前系统时间大于当前播放的Flash文件的开始播放时间时,如果当前系统时间大于 等于当前所查找的Flash文件的开始播放时间并且当前系统时间小于当前所查找的Flash 文件的下个文件的开始播放时间,则将当前所查找的Flash文件的文件序号作为实际播放 的Flash文件的文件序号;当前系统时间小于等于当前播放的Flash文件的开始播放时间时,如果当前系统时间 大于等于当前所查找的Flash文件的前一个文件的开始播放时间并且当前系统时间小于 当前所查找的Flash文件的开始播放时间,则将当前所查找的Flash文件的前一个文件的 文件序号作为实际播放的Flash文件的文件序号。
18.如权利要求8所述的方法,其特征在于,所述定位校准模块还包括帧数计算子模块,用于每隔预置时间间隔,将当前系统时间减去当前播放的Flash文 件的开始播放时间,得到的差值乘以所述Flash文件对应的帧率,计算得到所述Flash文件 的实际播放帧数;帧数条件判断子模块,用于判断所述Flash文件的当前播放帧数是否满足帧数校准条件;帧数调整子模块,用于当满足帧数校准条件时,将所述Flash文件的当前播放帧数调 整为所述实际播放帧数;其中,所述帧数校准条件为当前播放帧数小于实际播放帧数减去参考帧数的差值,所 述参考帧数为所述Flash文件的帧率值的二分之一。
全文摘要
本发明提供了一种多终端Flash同步播放的方法和系统,所述方法包括网络服务器将Flash文件和文件属性信息发送至各个播放终端;各个播放终端依据接收到Flash文件和文件属性信息生成时间关联列表,所述时间关联列表记录有Flash文件对应的开始播放时间;各个播放终端按照时间关联列表加载相应的Flash文件进行播放;依据本地的当前系统时间和所述时间关联列表进行同步播放定位校准。通过本发明,实现了Flash播放过程中各个终端上的同步效果。
文档编号H04L29/08GK102006319SQ201010525760
公开日2011年4月6日 申请日期2010年10月25日 优先权日2010年10月25日
发明者孙骞, 戴福昊, 牛大军 申请人:同辉佳视(北京)信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1