CN109981711A - 文档动态播放方法、装置、系统及计算机可读存储介质 - Google Patents
文档动态播放方法、装置、系统及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109981711A CN109981711A CN201711457772.8A CN201711457772A CN109981711A CN 109981711 A CN109981711 A CN 109981711A CN 201711457772 A CN201711457772 A CN 201711457772A CN 109981711 A CN109981711 A CN 109981711A
- Authority
- CN
- China
- Prior art keywords
- document
- terminal
- demonstrated
- object run
- server
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
Abstract
本发明实施例提供一种文档动态播放方法、装置、系统及计算机可读存储介质,该方法包括:获取待演示的文档,所述待演示的文档为超文本格式的文档;采集针对所述待演示的文档所执行的至少一种目标操作;其中,目标操作中包括操作信息以及时序信息;建立所述第一终端与服务器之间的至少一条信令通道,通过所述至少一条信令通道向所述服务器上传所述至少一种目标操作以及所述待演示的文档。
Description
技术领域
本发明涉及互联网应用技术领域,特别涉及一种文档动态播放方法、装置、系统及计算机可读存储介质。
背景技术
随着互联网技术的发展,一种能够实现人与人、人与机器、人与物、甚至物与物之间直接沟通的网络架构,泛在网络逐渐形成,并广泛运用到教育等各领域。在线课堂的概念随之被提出,各种用于将老师进行授课的内容通过网络传送给学生的在线课堂应用也逐渐出现。
其中,老师进行授课时,PowerPoint(PPT)文档是普遍应用的展示文档格式。目前,在线课堂应用将老师基于PPT进行授课的内容传送给学生的常用方式主要包括以下两种。
第一,通过屏幕录制的方式将PPT播放过程录制成视频,并以视频流形式同步到学生。然而,该种方式的主要问题是画质不够清晰,即使是使用1080p质量传输,显示效果仍然无法达到实际演示文档的清晰程度,一些线条、画笔都会有边缘模糊的现象,低画质情况失真更为严重;其次,如果使用1080p质量传输,下载资源的体积较大,对用户网络质量要求较高,也容易出现多次缓冲;再次,录制形成视频中糅合了演示文档、画中画及实时评论,观看视频的学生无法根据实际需求对视频内包含的内容进行调整。
第二,将PPT转换为超文本标记语言格式的文档并在线播放,但是转换后的PPT会不确定的丢失原文档内的动效,对文档使用者造成一定困扰,且交互动作、数据记录等均不可做到。
相关技术中,对于上述问题,尚无有效解决方案。
发明内容
为解决现有存在的技术问题,本发明实施例提供一种展示效果更好、传输方便、且通用性更好的文档动态播放方法、装置、系统及计算机可读存储介质。
为达到上述目的,本发明实施例的技术方案是这样实现的:
一种文档动态播放方法,包括:获取待演示的文档,所述待演示的文档为超文本格式的文档;采集针对所述待演示的文档所执行的至少一种目标操作;其中,目标操作中包括操作信息以及时序信息;建立所述第一终端与服务器之间的至少一条信令通道,通过所述至少一条信令通道向所述服务器上传所述至少一种目标操作以及所述待演示的文档。
一种文档动态播放方法,包括:获取第一终端发送的待演示的文档,所述待演示的文档为超文本格式的文档;获取所述第一终端通过至少一条信令通道发送的针对所述待演示的文档所执行的至少一种目标操作;其中,目标操作中包括操作信息和时序信息;将所述至少一种目标操作及所述待演示的文档发送给第二终端。
一种文档动态播放方法,包括:发送收听请求指令给服务器;接收所述服务器基于所述收听请求指令发送的第一终端针对待演示的文档所执行的至少一种目标操作及所述待演示的文档,其中,目标操作中包括操作信息以及时序信息,所述待演示的文档为超文本格式的文档;根据所述至少一种目标操作确定所述第一终端上针对所述待演示的文档所执行的操作,将所述待演示的文档与所述操作同步播放。
一种文档动态播放方法,包括:第一终端发送待演示的文档给服务器,其中,所述待演示的文档为超文本格式的文档;所述第一终端建立与所述服务器之间的至少一条信令通道,通过所述至少一条信令通道发送针对所述待演示的文档所执行的至少一种目标操作给所述服务器,其中,目标操作中包括操作信息和时序信息;第二终端发送收听请求指令给所述服务器;所述服务器获取所述收听请求指令,根据所述收听请求指令将对应的所述待演示的文档以及目标操作发送给所述第二终端。
一种文档动态播放装置,包括:获取模块,用于获取待演示的文档,所述待演示的文档为超文本格式的文档;采集模块,用于采集针对所述待演示的文档所执行的至少一种目标操作;其中,目标操作中包括操作信息以及时序信息;文本发送模块,用于建立所述第一终端与服务器之间的至少一条信令通道,通过所述至少一条信令通道向所述服务器上传所述至少一种目标操作以及所述待演示的文档。
一种文档动态播放装置,包括:文档获取模块,用于获取第一终端发送的待演示的文档,所述待演示的文档为超文本格式的文档;信令获取模块,用于获取所述第一终端通过至少一条信令通道发送的针对所述待演示的文档所执行的至少一种目标操作;其中,目标操作中包括操作信息和时序信息;发送模块,用于将所述至少一种目标操作及所述待演示的文档发送给第二终端。
一种文档动态播放装置,包括:发送模块,用于发送收听请求指令给服务器;接收模块,用于接收所述服务器基于所述收听请求指令发送的第一终端针对待演示的文档所执行的至少一种目标操作及所述待演示的文档,其中,目标操作中包括操作信息和时序信息,所述待演示的文档为超文本格式的文档;播放模块,用于根据所述至少一种目标操作确定所述第一终端上针对所述待演示的文档所执行的操作,将所述待演示的文档与所述操作同步播放。
一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明任一实施例所提供的文档动态播放方法。
一种文档动态播放装置,包括存储器、处理器及存储在所述存储器上运行的计算机程序,所述处理器执行所述程序时实现一种文档动态播放方法,包括:获取待演示的文档,所述待演示的文档为超文本格式的文档;采集针对所述待演示的文档所执行的至少一种目标操作;其中,目标操作中包括操作信息以及时序信息;建立所述第一终端与服务器之间的至少一条信令通道,通过所述至少一条信令通道向所述服务器上传所述至少一种目标操作以及所述待演示的文档。
一种文档动态播放装置,包括存储器、处理器及存储在所述存储器上运行的计算机程序,所述处理器执行所述程序时实现一种文档动态播放方法,包括:获取第一终端发送的待演示的文档,所述待演示的文档为超文本格式的文档;获取所述第一终端通过至少一条信令通道发送的针对所述待演示的文档所执行的至少一种目标操作;其中,目标操作中包括操作信息和时序信息;将所述至少一种目标操作及所述待演示的文档发送给第二终端。
一种文档动态播放装置,包括存储器、处理器及存储在所述存储器上运行的计算机程序,所述处理器执行所述程序时实现一种文档动态播放方法,包括:发送收听请求指令给服务器;接收所述服务器基于所述收听请求指令发送的第一终端针对待演示的文档所执行的至少一种目标操作及所述待演示的文档,其中,目标操作中包括操作信息以及时序信息,所述待演示的文档为超文本格式的文档;根据所述至少一种目标操作确定所述第一终端上针对所述待演示的文档所执行的操作,将所述待演示的文档与所述操作同步播放。
一种文档动态播放系统,包括第一终端、第二终端及服务器,所述第一终端包括:获取模块,用于获取待演示的文档,所述待演示的文档为超文本格式的文档;采集模块,用于采集针对所述待演示的文档所执行的至少一种目标操作;其中,目标操作中包括操作信息以及时序信息;文本发送模块,用于建立所述第一终端与服务器之间的至少一条信令通道,通过所述至少一条信令通道向所述服务器上传所述至少一种目标操作以及所述待演示的文档。所述服务器包括:文档获取模块,用于获取第一终端发送的待演示的文档,所述待演示的文档为超文本格式的文档;信令获取模块,用于获取所述第一终端通过至少一条信令通道发送的针对所述待演示的文档所执行的至少一种目标操作;其中,目标操作中包括操作信息和时序信息;发送模块,用于将所述至少一种目标操作及所述待演示的文档发送给第二终端。所述第二终端包括:发送模块,用于发送收听请求指令给服务器;接收模块,用于接收所述服务器基于所述收听请求指令发送的第一终端针对待演示的文档所执行的至少一种目标操作及所述待演示的文档,其中,目标操作中包括操作信息和时序信息,所述待演示的文档为超文本格式的文档;播放模块,用于根据所述至少一种目标操作确定所述第一终端上针对所述待演示的文档所执行的操作,将所述待演示的文档与所述操作同步播放。
本发明实施例所提供的文档动态播放方法、装置、系统及计算机可读存储介质中,第一终端获取超文本格式的待演示的文档,采集针对所述文档所执行的至少一种目标操作,通过创建与服务器之间的至少一条信令通道,再将文档、目标操作发送给服务器,服务器接收第一终端发送的目标操作,并将文档和目标操作发送给第二终端,第二终端通过接收服务器发送的文档、目标操作,根据目标操作确定授课用户通过第一终端针对文档所执行的操作,并将文档与操作同步播放,因此,该文档动态播放方法通过建立信令通道,将授课用户进行授课的内容形成超文本格式的文本与目标操作的操作信令的纯文本格式的数据进行传输,文件体积小,传输更方便;且通过采集对应的目标操作,保证了原有演示文档内的针对文档的目标操作的所有动态效果不会丢失,目标操作通过信令的方式传输到收听课程的第二终端,通过解析信令而回放目标操作时效果也更清晰;将授课用户进行授课的内容中对文档执行的目标操作和文档传输给第二终端,从而实现将授课用户在授课过程中可能存在的画中画、实时讨论与播放解耦,有效适用了多种用户需求和平台要求,具有更好的通用性。
附图说明
图1为本发明一实施例中文档动态播放系统的应用场景示意图;
图2为本发明一实施例中文档动态播放方法的流程图;
图3为本发明一实施例中文档动态播放装置的结构示意图;
图4为本发明另一实施例中文档动态播放方法的流程图;
图5为本发明另一实施例中文档动态播放装置结构示意图;
图6为本发明又一实施例中文档动态播放方法的流程图;
图7为根据所述鼠标移动事件对应的操作信令于所述画布上绘制所述鼠标移动事件的效果示意图;
图8为本发明又一具体实施例中文档动态播放装置结构示意图;
图9为本发明又一实施例中文档动态播放方法的流程图;
图10为本发明一具体实施例中文档动态播放方法的流程图;
图11为本发明一实施例中文档动态播放装置的硬件结构示意图。
具体实施方式
以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
对本发明进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)信令,通过套接字(Socket)传输的操作、数据。
2)Socket,网络上的两个程序之间通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个Socket。Socket的本质是应用程序编程接口(ApplicationProgramming Interface,API),是对TCP/IP(Transmission Control Protocol/InternetProtocol,传输控制协议/因特网互联协议)的封装,用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。
3)信令通道,用于传输信令的Socket长连接,是网络中为了保证网络正常运行、用户正常使用的一个控制通道,服务器与目标终端之间可以在信令通道中发送设定格式的信令。Socket长连接是指整个通信过程客户端和服务端只用一个Socket对象,长期保持Socket的连接。
4)关键帧,指目标物体运动或变化中的关键动作所处的那一帧,如翻页操作。
5)SDK(Software Development Kit,软件开发工具包),软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的软件开发工具的集合。软件开发工具包括广义上指辅助开发某一类软件的相关文档、范例和工具的集合。
6)插件(Plug-in),是指遵循一定规范的API(应用程序接口)编写出来的程序。
7)客户端,安装于终端的用于实现本发明实施例所提供的文档动态播放方法的计算机程序。
8)主讲客户端,是指安装于授课用户所使用的终端中,用于实现本发明实施例所提供的文档动态播放方法中授课用户侧功能的计算机程序。
9)听众客户端,是指安装在听课用户所使用的终端中,用于实现本发明实施例所提供的文档动态播放方法中听课用户侧功能的计算机程序。
10)服务端,安装于服务器的用于实现本发明实施例所提供的文档动态播放方法的计算机程序。
11)Web客户端,是指基于web的动态页面技术的客户端,也即,安装在听课用户所使用的终端中、用于实现本发明实施例所提供的文档动态播放方法中听课用户侧功能的计算机程序为网页程序。
12)应用客户端,是指安装于终端上的应用程序客户端(Application,APP),也即,安装在听课用户所使用的终端中、用于实现本发明实施例所提供的文档动态播放方法中听课用户侧功能的计算机程序为第三方应用程序。
本发明实施例提供文档动态播放方法、实施文档动态播放方法的文档动态播放装置、包括文档动态播放装置的文档动态播放系统以及存储用于实现文档动态播放方法的可执行程序的计算机可读存储介质。就文档动态播放方法的实施而言,本发明实施例提供终端侧和服务器侧实施的方案,对文档动态播放的示例性实施场景进行说明。
如图1所示,为实现本发明实施例提供的文档动态播放方法的文档动态播放系统一个可选的应用场景示意图,该系统包括服务器300及与服务器300通信连接的第一终端100和第二终端200。第一终端100是指安装有主讲客户端的终端设备,第二终端200是指安装有听众客户端的终端设备。授课用户通过第一终端100上的主讲客户端对授课的内容进行录制,第一终端100获取到开始上课的启动主讲指令,创建与服务器之间的至少一条信令通道将授课用户针对文档的目标操作及文档发送给服务器300。服务器300接收第一终端100的发送的对文档的目标操作,并将目标操作与文档发送给第二终端200。听课用户通过第二终端200上的听众客户端向服务器300发送针对指定课程的收听请求指令,用于从服务器300获取与指定课程对应的文档与目标操作进行播放。其中,第一终端100和第二终端200可以包括手机终端、平板电脑、笔记本电脑、个人台式计算机等,服务器300可以是独立的一个物理服务器或者多个物理服务器。
请参阅图2,为本发明一实施例提供的文档动态播放方法的一个可选的流程示意图,可应用于如图1所示的第一终端,以下将分别对各个步骤进行说明。
步骤201,获取待演示的文档,所述待演示的文档为超文本格式的文档。
文档是指通过办公软件系列(office系列),如字处理程序(word)、电子表格处理程序(Excel)、演示文稿程序(PowerPoint,PPT)等生成及使用的文件。本实施例中,待演示的文档是指授课用户进行授课过程中所主要采用的office文档PPT。第一终端获取待演示的文档,所述待演示的文档为超文本格式的文档,可以包括以下三种方式:第一,第一终端通过主讲客户端获取授课用户上传的转换为HTML格式的PPT;第二,第一终端通过主讲客户端获取授课用户上传的PPT,主讲客户端通过调用PPT转HTML应用软件的API接口将其转换为HTML格式的文档;第三,第一终端通过主讲客户端获取授课用户上传的PPT,主讲客户端通过PPT转HTML程序将其转换为HTML格式的文档。
在一个可选的实施例中,步骤201,获取待演示的文档,所述待演示的文档为超文本格式的文档,具体包括:
获取待转换PPT;
获取文档转换指令,根据所述文档转换指令将所述待转换PPT转换为超文本格式的文档。
本实施例中,第一终端通过基于授课用户上传的PPT和文档转换指令,通过接收到文档转换指令调用PPT转HTML应用软件的API接口,将PPT转换为超文本格式的文档。PPT转HTML应用软件可以任意已知的能够实现将PPT转换成HTML格式的软件,如Google Docs(谷歌文档)、office online(微软在线文档系统)。
步骤203,采集针对所述待演示的文档所执行的至少一种目标操作;其中,目标操作中包括操作信息以及时序信息。
至少一种目标操作是指授课用户通过第一终端对授课所采用的文档所进行的演示操作的相关信息,如演示操作可以包括上一页操作、下一页操作、空闲状态下鼠标移动、画笔状态下鼠标移动、形状插入、笔擦清除、通过文档自带动效设置的上一帧操作/下一帧操作、键盘输入操作、指定热点点击操作等。目标操作的相关信息是指能够对演示操作进行记录、并通过所述记录能够再现该对应的演示操作的相关数据,包括操作信息和时序信息。操作信息是指记录对应的演示操作执行所伴随的位置变化、状态变化等的动作信息,时序信息是指记录对应的演示操作相对该文档播放的时间信息。在一个可选的实施例中,目标操作的相关信息可以形成设置格式的操作信令,通过解析目标操作中的操作信息,可以确定对应的演示操作具体是什么操作,如上一页操作、下一页操作、空闲状态下鼠标移动、画笔状态下鼠标移动、形状插入、笔擦清除、通过文档自带动效设置的上一帧操作/下一帧操作、键盘输入操作或者指定热点点击操作等;通过解析目标操作中的时序信息,可以确定对应的演示操作的发生时间与文档播放时间之间的匹配关系,从而确定对应的演示操作是针对哪一文档页面所执行的。
步骤207,建立所述第一终端与服务器之间的至少一条信令通道,通过所述至少一条信令通道向所述服务器上传所述至少一种目标操作以及所述待演示的文档。
第一终端将超文本格式的待演示的文档、目标操作发送给服务器,供服务器进行关联存储和发送给第二终端等。第一终端采集授课用户针对文档所执行的目标操作,创建与服务器之间的至少一条信令通道,通过信令通道将目标操作传输到服务器,以确保将授课用户对原有演示文档的指定目标操作的动效采集并传输给服务器、并通过服务器于相应的客户端进行播放,信令通道传输目标操作的格式为文本传输,传输数据的体积更小,传输更便利,且第二终端基于对目标操作进行解析和回放对应的演示操作的效果更加清晰。
本发明实施例所提供的文档动态播放方法中,将授课用户进行授课的内容形成超文本格式的文档与通过信令通道进行传输的目标操作上传给服务器,超文本格式的文档和目标操作均为纯文本格式的数据,以纯文本格式的数据进行传输,文件体积小,传输更方便;且通过采集对应的目标操作进行上传,可以避免在第一终端上对演示文档进行的演示操作产生的动态效果的丢失,目标操作可以操作信令的形式通过信令通道传输到服务器及第二终端,第二终端基于对操作信令进行解析的方式重绘操作,效果也更清晰;将授课用户进行授课的内容中对文档的目标操作和文档以文本形式传输给第二终端,而将授课用户授课过程中可能存在的画中画、实时讨论与播放解耦,有效适用了多种需求和平台要求,具有更好的通用性。
在一个可选的实施例中,在步骤207中,所述建立所述第一终端与服务器之间的至少一条信令通道,包括:
发送启动主讲指令给服务器,并接收服务器返回的根据所述启动主讲指令确定的主讲插件数据;
根据所述主讲插件数据加载相应的插件,通过加载所述相应的插件建立所述第一终端与服务器之间的至少一条信令通道。
第一终端获取授课用户输入的启动主讲指令,并将启动主讲指令发送给服务器,服务器根据获取到的启动主讲指令发送主讲插件数据给第一终端,以供第一终端通过加载主讲插件数据实现创建与服务器之间的信令通道。第一终端通过所述信令通道将授课用户针对所述文档所执行的至少一种目标操作发送给服务器。在一个可选的具体实施例中,主讲插件数据包括信令通道插件和录制插件。第一终端获取授课用户输入的启动主讲指令可以包括:第一终端检测授课用户对第一终端的预设操作,基于该预设操作获取启动主讲指令。该预设操作可以是授课用户点击或者触控预设的图标或按键、或者授课用户输入的预设手势等,如,授课用户于设置的上课时间到达时,点击打开主讲客户端图标的操作,又如,授课用户于主讲客户端的注册页面中点击注册按键的操作。
主讲插件数据用于实现创建第一终端与服务器之间的信令通道,采集针对所述文档所执行的至少一种目标操作以操作信令的形式通过信令通道上传给服务器,即实现第一终端对授课的内容中指定目标操作进行采集和信令传输。例如,信令通道插件用于创建信令通道,录制插件用于通过信令通道对目标操作进行采集。
在一个可选的实施例中,在步骤201中,所述获取待演示的文档,包括:通过第一应用获取待演示的文档;
在步骤207中,所述建立所述第一终端与服务器之间的至少一条信令通道,包括:
建立所述第一终端的第一应用与所述服务器之间的信令通道作为第一信令通道、及建立所述第一终端的WebView控件与所述服务器之间的信令通道作为第二信令通道。
本实施例中,第一应用是指主讲客户端。至少一条信令通道具体包括第一应用与所述服务器之间的第一信令通道和WebView控件与所述服务器之间的信令通道,根据两条信令通道的不同特性,可便于将通过不同采集方式所采集的针对待演示的文档所执行的不同目标操作通过对应的信令通道传输。如,第二信令通道建立于WebView控件与所述服务器之间,可以将Webview控件采集的目标操作直接通过第二信令通道进行直接传输。其中,Webview控件采集的目标操作可以预先设置,通常是指用于表征使得所述待演示的文档的至少部分内容产生变化的操作,如:键盘输入操作、指定热点点击操作、鼠标拖动操作、点击翻页操作等。第一信令通道建立于第一应用与服务器之间,可以将第一应用采集目标操作直接通过第一信令通道进行直接传输,其中,第一应用采集的目标操作也可以预先设置,通常是指用于表征指示信息在所述待演示的文档的位置,且所述指示信息并不使得所述待演示的文档的内容产生变化的操作,如:空闲状态下鼠标移动、画笔状态下鼠标移动、画笔状态下的形状插入、笔擦清除等。
需要说明的是,本实施例中所列出的Webview控件和第一应用所分别采集的目标操作,是基于Webview控件和第一应用对不同场景下所执行的操作的特性的采集优势而确定的,在其它实施例中,还可以设置为所有目标操作均通过第一应用监听并采集、或者部分目标操作可以实际需求由第一应用或由Webview控件采集。如,在一可选的实施例中,第一终端也可以与服务器之间仅建立一条信令通道,具体建立第一应用与服务器之间的第一信令通道,通过第一应用控制将Webview控件采集的目标操作复用第一信令通道进行传输上传到服务器。在又一可选的实施例中,第一终端也可以与服务器之间仅建立一条信令通道,具体建立第一应用与服务器之间的第一信令通道,通过预先设置第一应用能够监听和采集的目标操作的范围,将部分更适合于Webview控件采集的目标操作设置为通过第一应用监听和采集,通过第一信令通道将第一应用采集的目标操作上传到服务器。
在另一个实施例中,在步骤203中,所述采集针对所述待演示的文档所执行的至少一种目标操作,包括:
采集针对所述待演示的文档第一目标操作以及第二目标操作;其中,所述第一目标操作用于表征指示信息在所述待演示的文档的位置,且所述指示信息并不使得所述待演示的文档的内容产生变化的操作;所述第二目标操作用于表征使得所述待演示的文档的至少部分内容产生变化的操作。
其中,第一目标操作和第二目标操作并非用于表示目标操作的数量,而是用于区分不同的目标操作的类型。不同类型的目标操作由不同采集方式进行采集,第一目标操作和第二目标操作可以根据相应采集方式的特点,使得能够更加准确、全面地采集到针对文档所执行的所有操作而确定。本实施例中,为了能够更加准确、全面的采集到授课用户在第一终端上针对待演示文档所执行的所有目标操作,将目标操作分为第一目标操作和第二目标操作,以分别对应于通过第一应用进行采集和Webview控件进行采集的两种采集方式。具体的,第一目标操作用于表征指示信息在所述待演示的文档的位置,且所述指示信息并不使得所述待演示的文档的内容产生变化的操作,如空闲状态下鼠标移动、画笔状态下鼠标移动、画笔状态下的形状插入、笔擦清除等。所述第二目标操作用于表征使得所述待演示的文档的至少部分内容产生变化的操作,如键盘输入操作、指定热点点击操作、鼠标拖动操作、点击翻页操作等。
需要说明的是,通过第一应用和Webview控件分别采集的第一目标操作和第二目标操作并不限于以上所列出的方式,其中对于由Webview控件采集的目标操作也可以设置为由第一应用监听并采集,如可以将由Webview控件采集的点击翻页操作改为由第一应用监听采集。而本实施例中所限定的第一应用和Webview控件分别对应采集的第一目标操作和第二目标操作,是根据第一应用和Webview控件的特点而确定的能够确保更加准确、且全面的捕获到对文档进行的全部目标操作的一个实施例。
进一步的,在步骤207中,所述通过所述至少一条信令通道向所述服务器上传所述至少一种目标操作,包括:
通过所述第一终端的第一应用与所述服务器之间的信令通道发送所述第一目标操作,通过所述第一终端的WebView控件与所述服务器之间的信令通道发送第二目标操作。
第一目标操作是通过预先设置由第一应用进行采集的针对文档所执行的执行的操作,从而可通过第一应用与服务器之间的信令通道进行发送,第二目标操作是通过预先设置由Webview控件进行采集的针对文档所执行的操作,从而可通过Webview控件与服务器之间的信令通道进行发送,如此更便于将通过不同方式采集的目标操作通过对应的信令通道直接上传至服务器。
本申请实施例中,采集针对文档所执行的目标操作的相关数据以形成操作信令,简称采集目标操作。其中,一个操作信令与一个目标操作相对应。不同操作信令的数据结构根据对应的目标操作的相关数据所包含的数据字段进行确定,目标操作的相关信息包括操作信息和时序信息。如,在一个示意性的实施例中,第一目标操作或者第二目标操作对应的相关数据中,操作信息可以包括以下数据字段中其中一种或者多种:操作类型、事件名、事件发生元素的路径、鼠标的坐标对应文档页面的比例、是否下一页、当前页;时序信息包括当前操作对应文档播放时间的时间戳。各数据字段及其数据类型与目标操作的对应关系下表格一所示:
表格一
根据不同数据字段与目标操作的对应关系,可以确定不同的目标操作对应的相关数据包含的数据字段,形成与不同目标操作分别对应的具有设定格式的操作信令,以目标操作为鼠标点击为例,鼠标点击对应的相关数据中,操作信息包含的数据字段包括操作类型Type、事件名Value、鼠标的坐标对应文档页面的比例Coord、是否下一页isNextSlide、当前页currentSlide;时序信息包含的数据字段包括当前操作对应文档播放时间的时间戳Timestamp,其中与鼠标点击对应的操作信令可以表示为:
{
type:‘click’,
value:1,//左键
coord:’10,10’,
isNextSlide:false,
currentSlide:5,
timestamp:1500626995441
}
第一终端采集针对所述文档所执行的至少一种目标操作,获取目标操作中包括的操作信息和时序信息形成对应的操作信令,实现通过信令的方式对预设的目标操作进行采集和发送,能够有效的确保授课用户的原有演示文档内针对目标操作的效果不会丢失,且实现将授课用户对文档进行的目标操作以信令文本的形式进行传输,文件体积小,传输更方便。
如表格一所示,为不同的目标操作形成操作信令时各数据字段及其数据类型与目标操作的对应关系,其中,第一目标操作和第二目标操作所分别包含的数据字段可以相同,根据第一目标操作对应的相关数据所形成的操作信令的数据结构与根据第二目标操作对应的相关数据所形成的操作信令的数据结构也可以相同。第一终端通过不同的信令通道分别将采集到的对文档的不同的指定目标操作发送给服务器,能够充分利用多条信令通道的优势,有效的确保授课用户的原有演示文档内多样化的目标操作的动态效果不会丢失,且实现将授课用户对文档进行的操作以信令的形式进行传输,文件体积小,传输更方便。
请参阅图3,为本发明一实施例提供的文档动态播放装置,包括:获取模块21,用于获取待演示的文档,所述待演示的文档为超文本格式的文档;采集模块23,用于采集针对所述待演示的文档所执行的至少一种目标操作;其中,目标操作中包括操作信息以及时序信息;文本发送模块27,用于建立所述第一终端与服务器之间的至少一条信令通道,通过所述至少一条信令通道向所述服务器上传所述至少一种目标操作以及所述待演示的文档。
在一可选的实施例中,所述文本发送模块27包括启动单元和加载单元,所述启动单元,用于发送启动主讲指令给服务器,并接收服务器返回的根据所述启动主讲指令确定的主讲插件数据;所述加载模块,用于根据所述主讲插件数据加载相应的插件,通过加载所述相应的插件建立所述第一终端与服务器之间的至少一条信令通道。
在另一可选的实施例中,所述获取模块21,具体用于通过第一应用获取待演示的文档;所述文本发送模块27,具体用于建立所述第一终端的第一应用与所述服务器之间的信令通道作为第一信令通道、及建立所述第一终端的WebView控件与所述服务器之间的信令通道作为第二信令通道。
在一可选的实施例中,所述采集模块25,具体用于采集针对所述待演示的文档第一目标操作以及第二目标操作;其中,所述第一目标操作用于表征指示信息在所述待演示的文档的位置,且所述指示信息并不使得所述待演示的文档的内容产生变化的操作;所述第二目标操作用于表征使得所述待演示的文档的至少部分内容产生变化的操作。
进一步的,所述文本发送模块27,具体用于通过所述第一终端的第一应用与所述服务器之间的信令通道发送所述第一目标操作,通过所述第一终端的WebView控件与所述服务器之间的信令通道发送第二目标操作。
在一可选的实施例中,该装置还包括转换模块,用于获取待转换PPT;获取文档转换指令,根据所述文档转换指令将所述待转换PPT转换为超文本格式的文档。
需要说明的是:上述实施例提供的文档动态播放装置在实现文档的实时动态播放时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的文档动态播放装置与应用于第一终端的文档动态播放方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参阅图4,为本发明实施例提供的文档动态播放方法的一个可选的流程示意图,可应用于如图1所示的服务器,将分别对各个步骤进行说明。
步骤101,获取第一终端发送的待演示的文档,所述待演示的文档为超文本格式的文档。
超文本格式的文档是指采用超文本标记语言HTML(HyperText Markup Language)格式的文档。HTML是指标准通用标记语言下的一个应用,是为网页创建和其它可在网页浏览器中看到的信息设计的一种标记语言。文档是指通过办公软件系列,如字处理程序(word)、电子表格处理程序(Excel)、演示文稿程序(PowerPoint)等生成及使用的文件。本实施例中,待演示的文档是指授课用户进行授课过程中所主要采用的office文档PPT。获取第一终端发送的待演示的文档,可以包括以下两种方式:第一,服务器获取第一终端通过主讲客户端发送的转换为HTML格式的PPT;第二,服务器获取第一终端通过主讲客户端发送的PPT,通过调用PPT转HTML应用软件的API接口将其转换为HTML格式的文档。其中,PPT转HTML应用软件可以为任意已知的可以将PPT转换为HTML的软件,如Google Docs(谷歌文档)、office online(微软在线文档系统)等。
步骤103,获取所述第一终端通过至少一条信令通道发送的针对所述待演示的文档所执行的至少一种目标操作,其中,目标操作中包括操作信息和时序信息。
至少一种目标操作是指授课用户通过第一终端对授课所采用的文档所进行的演示操作的相关信息,如演示操作可以包括点击翻页操作(上一页操作、下一页操作)、空闲状态下鼠标移动、画笔状态下鼠标移动、画笔状态下形状插入、笔擦清除、键盘输入操作、指定热点点击操作等。目标操作中的操作信息和时序信息是指能够对目标操作进行记录、并通过所述记录能够再现该对应的目标操作的相关数据。操作信息是指记录对应的目标操作执行时所伴随的位置变化、状态变化等的动作信息,时序信息是指记录对应的目标操作相对该文档播放的时间信息。
一个目标操作对应的相关数据由预设的对目标操作进行记录的多个数据字段组成,每一目标操作中包含所述数据字段分别对应的值。其中,操作信息可以包括以下数据字段中其中一种或者多种:操作类型、事件名、事件发生元素的路径、鼠标的坐标对应文档页面的比例、是否下一页、当前页。时序信息可以包括当前操作对应文档播放时间的时间戳。在一个具体的实施例中,各数据字段及其数据类型与目标操作的对应关系如前述实施例中表格一所示。
在一个具体的实施例中,一个目标操作与一个操作信令对应,也即一个操作信令对应包括一个目标操作的操作信息和时序信息。根据不同数据字段与目标操作的对应关系,可以确定不同的目标操作对应包含的数据字段,形成与不同目标操作分别对应的具有设定格式的操作信令,以目标操作为鼠标点击为例,鼠标点击对应的执行数据中,操作信息包含的数据字段包括操作类型Type、事件名Value、鼠标的坐标对应文档页面的比例Coord、是否下一页isNextSlide、当前页currentSlide;时序信息包含的数据字段包括当前操作对应文档播放时间的时间戳Timestamp,其中与鼠标点击对应的操作信令可以表示为:
{
type:‘click’,
value:1,//左键
coord:’10,10’,
isNextSlide:false,
currentSlide:5,
timestamp:1500626995441
}
服务器获取第一终端采集到的针对所述文档所执行的至少一种目标操作的相关数据形成的操作信令,实现通过信令的方式对预设的目标操作的执行数据进行采集和发送,能够有效的确保授课用户的原有演示文档内针对目标操作的效果不会丢失,且实现将授课用户对文档进行的目标操作以信令文本的形式进行传输,文件体积小,传输更方便。
步骤105,将所述至少一种目标操作及所述待演示的文档发送给第二终端。
目标操作包括对第一终端上对文档进行实时操作的相关数据,将目标操作及待演示的文档发送第二终端,便于用户通过第二终端可以根据目标操作中的操作信息和时序信息确定授课用户通过第一终端对文档进行的操作进行同步播放或者回放。
本发明实施例所提供的文档动态播放方法中,服务器获取第一终端针对所述文档所执行的至少一种目标操作,将目标操作及文档发送给第二终端,从而第二终端通过接收服务器发送的文档和目标操作,根据目标操作中的操作信息和时序信息确定授课用户通过第一终端对文档进行演示的过程中进行的操作,并将文档与操作同步播放或者回放,因此,该文档动态播放方法将授课用户进行授课的内容形成超文本格式的文档与信令进行传输,超文本格式的文档与信令均为纯文本格式的数据,以纯文本格式的数据进行传输,文件体积小,传输更方便;且采集第一终端上针对文档所执行的对应的目标操作,保证了原有演示文档内针对目标操作的所有动作效果不会丢失,所有目标操作通过信令通道上传到服务器再传输到第二终端,效果也更清晰;将第一终端上授课用户进行授课的内容中对文档的目标操作和文档传输给第二终端,从而可以将授课用户在授课过程中可能存在的画中画、实时讨论与播放解耦,有效适用了多种需求和平台要求,具有更好的通用性。
在一个实施例中,步骤101,获取所述第一终端通过至少一条信令通道发送的针对所述待演示的文档所执行的至少一种目标操作,包括:
获取第一终端通过至少一条信令通道发送的针对所述待演示的文档所执行的第一目标操作和第二目标操作,其中,所述第一目标操作用于表征指示信息在所述待演示的文档的位置,且所述指示信息并不使得所述待演示的文档的内容产生变化的操作;所述第二目标操作用于表征使得所述待演示的文档的至少部分内容产生变化的操作。
步骤105,将所述至少一种目标操作及所述待演示的文档发送给第二终端,包括:
将所述第一目标操作和所述第二目标操作进行合并形成动作信令文本;
将所述待演示的文档发送给第二终端,将所述动作信令文本通过一个信令通道发送给所述第二终端。
在一个可选的实施例中,根据授课用户在授课过程中对文档进行的目标操作的特点分为第一目标操作和第二目标操作,第一目标操作是指第一终端通过第一应用采集的授课用户在授课过程中对文档进行的预设的操作对应的相关数据,第二目标操作是指第一终端通过Webview控件采集的授课用户在授课过程中对文档进行的预设的操作。第一目标操作和第二目标操作可以根据需要采集的目标操作的数量、类型等实际情况进行确定,以能够更加全面、完整的采集对文档所进行的全部目标操作或者必要目标操作。不同的目标操作可以根据其特点设置为利用不同的采集方式的优势进行采集。第一目标操作和第二目标操作并非用于表示目标操作的数量,而是用于区分不同的目标操作类型。在本实施例中,根据针对待演示的文档所执行的目标操作的特点,将授课用户对文档所执行的所有操作区分为基于文档页面中的内容而进行的操作,也即,用于表征指示信息在所述待演示的文档的位置,且所述指示信息并不使得所述待演示的文档的内容产生变化的第一目标操作,如空闲状态下鼠标移动、画笔状态下鼠标移动、画笔状态下的形状插入、笔擦清除等;以及基于文档工具而进行的操作,也即,用于表征使得所述待演示的文档的至少部分内容产生变化的第二目标操作,如键盘输入操作、指定热点点击操作、鼠标拖动操作、点击翻页操作等。
每一目标操作的相关数据包括操作信息和时序信息,第一目标操作和第二目标操作均是指对文档进行操作的相关数据形成的信令文本。通过第一目标操作和第二目标操作的区分,能够根据将对文档进行的不同操作的类型对应采集后通过更合适的信令通道进行传输,能够全面的采集对文档的目标操作,确保原有演示文档内针对不同目标操作的所有动作效果不会丢失,服务器将第一目标操作和第二目标操作合并形成动作信令文本,有利于第二终端通过一条信令通道接收第一终端通过多个信令通道上传的操作信令。动作信令文本可以是包含所有目标操作的信令包,也可以是基于同一关键帧所包含的一个或者多个目标操作的信令包。
进一步的,将所述至少一种目标操作及所述待演示的文档发送给第二终端之前,还包括:
将所述至少一种目标操作打包形成压缩文件资源和文件夹资源中的至少一种;
将所述压缩文件资源和文件夹资源中的至少一种上传至内容分发网络进行存储,并记录所述待演示的文档与所述压缩文件资源和文件夹资源中至少一种的对应关系。
本实施例中,将目标操作打包形成压缩文件资源,能够便于听课用户通过第二终端下载到本地进行播放;将目标操作打包成文件夹资源,能够便于听课用户通过第二终端进行在线播放。在一个具体的实施例中,将目标操作打包形成压缩文件资源或文件夹资源是指,将包含针对文档的所有的第一目标操作和第二目标操作的动作信令文本打包形成压缩文件资源和文件夹资源,此种情况适合于听课用户以录播的方式收听指定课程。在另一个具体的实施例中,将目标操作打包形成压缩文件资源或文件夹资源是指,将包含针对文档的每一关键帧所包含的第一目标操作和第二目标操作的动作信令文本分别实时打包形成压缩文件资源和文件夹资源,此种情况适合于听课用户以直播的方式收听指定课程。
内容分发网络(Content Delivery Network,CDN)是指通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN能够实时地根据网络流量和各节点服务器的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的节点服务器上。将所述压缩文件资源和文件夹资源中的至少一种上传至内容分发网络进行存储,可以使得用户就近取得所需内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。
在另一个实施例中,步骤105,所述将所述至少一种目标操作及所述待演示的文档发送给第二终端,包括:
获取第二终端发送的收听请求指令;
当所述第二终端为web客户端时,根据所述收听请求指令的类型发送第一插件数据、所述至少一种目标操作及所述待演示的文档给所述第二终端,所述第一插件数据供所述第二终端安装后解析并回放所述至少一种目标操作;
当所述第二终端为应用客户端时,根据所述收听请求指令的类型发送所述至少一种目标操作及所述待演示的文档给所述第二终端。
服务器获取第二终端发送的收听请求指令,根据所述第二终端上安装的听众客户端的类型为web客户端或者应用客户端,即发送收听请求指令的听众客户端为web客户端或者应用客户端而发送相应的数据给第二终端。当所述第二终端上的听众客户端为web客户端时,服务器将听众插件数据、所述至少一种目标操作及所述待演示的文档发送给第二终端,以供第二终端解析所述至少一种目标操作确定对应的操作、并根据目标操作的操作信息和时序信息在所述第二终端上再现所述目标操作,实现对目标操作进行解析和回放。在一个可选的实施例中,听众插件数据包括信令通道插件、回放插件、离线信令插件、画笔绘制插件、鼠标绘制插件、翻页通知插件等,用于实现对文档进行的指定目标操作中的操作信息和时序信息进行解析和回放。如,信令通道插件用于创建接收目标操作(包含第一目标操作和第二目标操作的动作信令文本)的信令通道,回放插件用于实现对目标操作(包含第一目标操作和第二目标操作的动作信令文本)的回放,离线信令插件用于实现对目标操作(包含第一目标操作和第二目标操作的动作信令文本)的离线播放,画笔绘制插件用于实现画笔状态下鼠标移动轨迹这一目标操作的解析和回放,鼠标绘制插件用于实现空闲状态下鼠标移动轨迹这一目标操作的解析和回放,翻页通知插件用于实现点击翻页操作时上一页/下一页的翻页操作这一目标操作的解析和回放。当所述第二终端上安装的听众客户端为应用客户端时,服务器发送所述至少一种目标操作及所述待演示的文档给所述第二终端,第二终端可以通过应用客户端和调用Webview控件的方式实现对指定的目标操作的操作信令的解析和回放。
针对第二终端上安装的听众客户端为web客户端时,由于安装web客户端的个人计算机终端相对于手机等移动终端而言具有更加强大的处理速度和处理能力,从而可以通过提供多种功能的插件分别对应解析针对文档的不同目标操作,能够全面的解析对文档的目标操作,确保原有演示文档内的所有效果不会丢失。针对第二终端上安装的听众客户端为应用客户端时,由于安装应用客户端的手机等移动终端相对个人计算机终端而言处理速度和处理能力要弱一些,从而通过设置应用客户端程序和调用Webview控件完成对指定的目标操作对应的操作信令的解析,指定的目标操作可以设置为包括对文档演示过程中关键性操作,不仅确保原有演示文档内的关键效果不会丢失,同时也提升了采用应用客户端的用户体验。
在另一个实施例中,步骤105,所述将所述至少一种目标操作及所述待演示的文档发送给第二终端,包括:
获取第二终端发送的收听请求指令;
当所述收听请求指令的类型为直播请求指令时,根据所述直播请求指令对应的当前时间确定当前关键帧,将所述待演示的文档及所述当前关键帧对应的目标操作发送给所述第二终端,并将所述当前时间后的目标操作实时发送给所述第二终端。
直播请求指令是指听课用户通过第二终端发送的请求对当前正在直播的指定课程进行收听的指令。当收听请求指令的类型为直播请求指令时,服务器第一次推送给第二终端的目标操作为根据当前时间确定的与当前关键帧内对应的所有目标操作,确保第二终端可以回放当前文档页面内发生的目标操作,随后服务器推送给第二终端的目标操作为当前时间后实时形成的目标操作,确保第二终端可以实时同步回放与文档对应的目标操作。
在另一个实施例中,步骤105,所述将所述至少一种目标操作及所述待演示的文档发送给第二终端,包括:
获取第二终端发送的收听请求指令;
当所述收听请求指令的类型为录播请求指令时,根据所述录播请求指令获取与所述待演示的文档对应的全部的目标操作,将所述待演示的文档及所述全部的目标操作发送给所述第二终端。
录播请求指令是指听课用户通过第二终端发送的对当前已完成录制的指定课程进行收听的指令。当收听请求指令的类型为录播请求指令时,服务器一次获取与指定课程的文档对应的所有的目标操作发送给第二终端,供第二终端根据所有目标操作对应的时序信息依序播放。
在另一可选的实施例中,服务器获取第二终端发送的收听请求指令,根据收听请求指令的类型为直播请求指令或者录播请求指令而发送相应的数据给第二终端。其中,与直播请求指令相应的数据包括待演示的文档、以及根据所述直播请求指令对应的当前时间确定当前关键帧对应的目标操作、所述当前时间后的实时形成的目标操作;与录播请求指令相应的数据包括待演示的文档、以及与所述待演示的文档对应的全部的目标操作。
在一个实施例中,步骤101,获取第一终端发送的待演示的文档之前,还包括:
获取第一终端发送的启动主讲指令,根据所述启动主讲指令发送主讲插件数据给所述第一终端,所述主讲插件数据供所述第一终端安装后建立所述第一终端与服务器之间的所述至少一条信令通道。
服务器获取授课用户通过第一终端发送的启动主讲指令,根据启动主讲指令发送主讲插件数据给第一终端,第一终端通过主讲插件数据实现将采集到的授课用户针对文档上执行的指定目标操作对应的相关数据以信令的形式上传到服务器。主讲插件数据可以开启经注册合格的扩展点(Extension)允许对外访问的网络端口命令的方式,供第一终端的主讲客户端通过调用获取。以第一终端通过主讲客户端调用webview控件的方式获取主讲插件数据为例,第一终端可以接收授课用户在第一终端上的预设操作,如点击或者触控预设按键、点击或者触控主讲客户端对应的图标、或者于预设页面中输入手势等,基于该预设的操作发送如下访问端口命令H5PPT.addExtension(‘Record’,‘SignalTunnel’,’TeacherClientMonitor’)至服务器,实现向服务器请求加载所述主讲插件数据,该主讲插件数据用于供所述第一终端安装后建立所述第一终端与服务器之间的所述至少一条信令通道,实现授课用户对授课的内容进行录制后上传到服务器所需的功能。在一个可选的实施例中,主讲插件数据包括信令通道插件、录制插件。信令通道插件用于创建信令通道,录制插件用于实现对目标操作对应的相关数据的采集。
服务器通过提供实现对不同目标操作对应的相关数据进行采集、解析和回放的不同插件,从而对于不同需求侧,如对于授课用户所使用的主讲客户端和听课用户所使用的听众客户端,又如对于web客户端和应用客户端,可以提供不同插件数据来完成相应需求侧的功能,其次用户也可以根据实际需求做更多的定制操作,从而可以有效适用多种需求和平台要求,扩展性强。
请参阅图5,为本发明一实施例提供的文档动态播放装置,包括:文档获取模块11,用于第一终端发送的待演示的文档,所述待演示的文档为超文本格式的文档。信令获取模块13,用于获取所述第一终端通过至少一条信令通道发送的针对所述待演示的文档所执行的至少一种目标操作;其中,目标操作中包括操作信息和时序信息。发送模块15,用于将所述至少一种目标操作及所述待演示的文档发送给第二终端。
所述发送模块15,具体用于:获取第二终端发送的收听请求指令;当所述第二终端为web客户端时,根据所述收听请求指令的类型发送听众插件数据、所述至少一种目标操作及所述待演示的文档给所述第二终端,所述听众插件数据供所述第二终端安装后解析并回放所述至少一种目标操作;当所述第二终端为应用客户端时,根据所述收听请求指令的类型发送所述至少一种目标操作及所述待演示的文档给所述第二终端。
在一可选的实施例中,所述发送模块15具体用于:获取第二终端发送的收听请求指令;当所述收听请求指令的类型为直播请求指令时,根据所述直播请求指令对应的当前时间确定当前关键帧,将所述待演示的文档及所述当前关键帧对应的目标操作发送给所述第二终端,并将所述当前时间后的目标操作实时发送给所述第二终端。
在一可选的实施例中,所述发送模块15具体用于:获取第二终端发送的收听请求指令;当所述收听请求指令的类型为录播请求指令时,根据所述录播请求指令获取与所述待演示的文档对应的全部的目标操作,将所述待演示的文档及所述全部的目标操作发送给所述第二终端。
在一可选的实施例中,该装置还包括指令获取模块,用于获取第一终端发送的启动主讲指令,根据所述启动主讲指令发送主讲插件数据给所述第一终端,所述主讲插件数据供所述第一终端安装后建立所述第一终端与服务器之间的所述至少一条信令通道。
在一可选的实施例中,所述获取模块11具体用于获取第一终端通过至少一条信令通道发送的针对所述待演示的文档所执行的第一目标操作和第二目标操作,其中,所述第一目标操作用于表征指示信息在所述待演示的文档的位置,且所述指示信息并不使得所述待演示的文档的内容产生变化的操作;所述第二目标操作用于表征使得所述待演示的文档的至少部分内容产生变化的操作;发送模块15包括合并单元及发送单元。所述合并单元用于将所述第一目标操作和所述第二目标操作进行合并形成动作信令文本。所述发送单元用于将所述待演示的文档发送给第二终端,并将所述动作信令文本通过一个信令通道发送给第二终端。
进一步的,所述发送模块15还包括资源单元及上传单元。所述资源单元用于将所述至少一种目标操作打包形成压缩文件资源和文件夹资源中的至少一种。所述上传单元用于将所述压缩文件资源和文件夹资源中的至少一种上传至内容分发网络进行存储,并记录所述待演示的文档与所述压缩文件资源和文件夹资源中至少一种的对应关系。
需要说明的是:上述实施例提供的文档动态播放装置在实现文档的实时动态播放时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的文档动态播放装置与应用于服务器的文档动态播放方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参阅图6,为本发明又一个实施例提供的文档动态播放方法的一个可选的流程示意图,可应用于如图1所示的第二终端,将分别对各个步骤进行说明。
步骤301,发送收听请求指令给服务器。
收听请求指令是指听课用户通过第二终端发送的用于表示收听指定课程的授课内容的指令。听课用户通过第二终端发送收听请求指令给服务器,具体可以包括:第二终端检测听课用户对第二终端的预设操作,基于该预设操作获取收听请求指令。该预设操作可以是听课用户点击或者触控预设的图标或者按键、或者听课用户的预设手势等,如,听课用户于设置的上课时间到达时,点击打开听众客户端图标的操作。
步骤303,接收所述服务器基于所述收听请求指令发送的第一终端针对待演示的文档所执行的至少一种目标操作及所述待演示的文档,其中,目标操作中包括操作信息和时序信息,所述待演示的文档为超文本格式的文档。
第二终端接收服务器基于收听请求指令发送的第一终端针对待演示的文档所执行的至少一目标操作及所述待演示的文档,具体包括:第一终端接收服务器返回的待演示的文档的地址,根据所述地址获取所述待演示的文档,且第二终端创建与服务器之间的信令通道,通过信令通道接收服务器发送的第一终端针对所述待演示的文档所执行的目标操作。第二终端创建的与服务器之间的信令通道可以是一个,如第二终端为web客户端时,第二终端可以创建Webview控件与服务器之间的信令通道,当第二终端为应用客户端时,第二终端可以创建应用客户端与服务器之间的信令通道。当第二终端与服务器之间的信令通道为一个时,针对待演示的文档所执行的多个目标操作可以由服务器合并形成动作信令文本,第二终端通过信令通道接收服务器发送的包含多个目标操作的动作信令文本。作为另一可选的实施例,第二终端接收服务器发送的操作信令的信令通道也可以是多个,如,第二终端与服务器之间所创建的信令通道可以与第一终端与服务器之间所创建的信令通道相同,通过多个信令通道分别接收多个目标操作。当第二终端与服务器之间仅创建一个信令通道接收目标操作时,可以减少对信令通道的维护成本。
步骤305,根据所述至少一种目标操作确定所述第一终端上针对所述待演示的文档所执行的操作,将所述文档与所述操作同步播放。
目标操作中包括所述第一终端上针对所述文档所执行的对应目标操作的相关数据,具体包括操作信息和时序信息。第二终端接收服务器发送的目标操作,通过解析目标操作中的操作信息和时序信息可以确定对应的目标操作,并基于解析得到的目标操作对应的相关数据在所述第二终端上再现所述目标操作,实现目标操作的回放。其中,通过将目标操作对应的相关数据通过信令通道形成操作信令进行传输,从而听课用户可以通过第二终端获取服务器发送的纯文本格式的操作信令,再通过对操作信令进行解析来实现对目标操作的回放。以目标操作为鼠标左键的点击操作为例,可以通过回放插件捕获与鼠标左键的点击操作的对应相关数据形成操作信令,该操作信令的具体可以如下所示:
{
type:‘click’,
value:1,//左键
coord:’10,10’,
isNextSlide:false,
currentSlide:5,
timestamp:1500626995441
}
第二终端获取到该操作信令,通过解析操作信令中的各个数据字段确定对应的目标操作的操作信息和时序信息,如type确定操作类型为点击、value确定事件名为左键、coord确定点击的元素的坐标、isNextSlide确定是否为下一页为否、currentSlide确定当前页面、Timestamp确定当前操作对应文档播放时间的时间戳,并根据所述数据字段的解析结果模拟在对应的文档页面上的对应位置的点击操作。
本发明实施例所提供的文档动态播放方法中,听课用户通过第二终端接收指定课程的授课内容,授课内容包括超文本格式的文档及对文档的目标操作,通过解析目标操作确定授课用户通过第一终端对文档所执行的操作,并将文档和操作同步播放,因此,该文档动态播放方法将授课用户进行授课的内容形成纯文本格式的数据进行传输,文件体积小,传输更方便;且通过第一终端采集对应的目标操作,保证了原有演示文档内的针对目标操作的所有动作效果不会丢失,所有目标操作通过信令通道以信令的形式传输到第二终端,播放目标操作时效果也更清晰;将授课用户进行授课的内容中对文档的目标操作和文档传输给第二终端,而将授课用户在授课过程中可能存在的画中画、实时讨论与播放解耦,有效适用了多种需求和平台要求,具有更好的通用性。
在一个实施例中,步骤303,所述接收所述服务器基于所述收听请求指令发送的第一终端针对待演示的文档所执行的至少一种目标操作及所述待演示的文档,包括:
当所述收听请求指令为直播请求指令时,接收服务器发送的待演示的文档、及第一终端针对待演示的文档所执行基于当前时间所确定的当前关键帧对应的目标操作,并接收服务器实时发送的所述当前时间后的目标操作。
听课用户通过第二终端发送收听请求指令给服务器,当收听请求指令的类型为直播请求指令时,服务器第一次推送给第二终端的数据包括指定课程对应的待演示的文档及与当前时间对应的当前关键帧内的所有目标操作,确保第二终端发出直播请求指令后可以回放与当前时间对应的文档页面内发生的目标操作;随后服务器推送给第二终端的数据包括当前时间后实时形成的目标操作,确保第二终端可以于后续直播收听过程中实时回放与文档对应的目标操作。其中,作为另一可选的实施例,第二终端接收服务器发送的目标操作可以是,接收服务器发送的分别与各关键帧对应的多个目标操作合并形成的动作信令文本。当所述收听请求指令为直播请求指令时,服务器将当前关键帧包含的所有目标操作合并形成与当前关键帧对应的动作信令文本并发送第二终端,第二终端接收与当前关键帧对应的动作信令文本,随后第二终端再接收服务器发送的当前时间之后的与各关键帧对应的动作信令文本,实现对目标操作的实时同步回放。
在另一个实施例中,步骤303,所述接收所述服务器基于所述收听请求指令发送的第一终端针对待演示的文档所执行的至少一种目标操作及所述待演示的文档,包括:
当所述收听请求指令为录播请求指令时,接收服务器基于所述录播请求指令而发送的第一终端针对待演示的文档所执行的全部目标操作及所述待演示的文档。
听课用户通过第二终端发送收听请求指令给服务器,当收听请求指令的类型为录播请求指令时,服务器一次获取与指定课程的文档对应的全部目标操作并发送给第二终端,供第二终端可以根据各目标操作对应的操作信息和时序信息依序播放对应的目标操作。其中,作为另一可选的实施例,第二终端接收服务器发送的第一终端针对待演示的文档所执行的全部目标操作可以是,接收服务器发送的第一终端针对待演示的文档所执行的全部目标操作合并形成的动作信令文本。当所述收听请求指令为录播请求指令时,服务器一次获取与文档对应的全部目标操作合并形成的动作信令文本并发送给第二终端,第二终端根据动作信令文本中包含的各目标操作对应的操作信息和时序信息依序播放对应的目标操作。
在另一个可选的实施例中,步骤301,发送收听请求指令给服务器,包括:
检测对web客户端的预设操作,基于所述预设操作发送收听请求指令给服务器;
接收所述服务器基于接收到所述收听请求指令而发送的收听插件数据,根据所述第收听插件数据加载相应的插件,通过加载所述相应的插件执行所述根据所述至少一种目标操作确定所述第一终端上针对所述待演示的文档所执行的操作,将所述待演示的文档与所述操作同步播放。
第二终端上安装的听众客户端可以为Web客户端或者应用客户端,针对Web客户端,可以通过获取SDK数据,加载对应的听众插件数据实现对指定课程的授课内容的回放,针对应用客户端,可以通过应用客户端和调用webview控件的方式实现对指定课程的授课内容的回放。授课内容包括授课所采用的待演示的文档及授课用户针对文档所执行的指定目标操作。第二终端检测听课用户对web客户端的预设操作,如听课用户于web客户端的注册页面中点击注册按键的操作,基于所述预设操作发送收听请求指令给服务器。然后,第二终端接收所述服务器收到所述收听请求指令后发送的听众插件数据,根据所述听众插件数据加载相应的插件,通过加载所述相应的插件执行所述根据所述至少一种目标操作确定第一终端上针对所述待演示的文档所执行的操作,将所述文档与所述操作同步播放,以通过加载插件实现对指定课程的授课内容的回放。在一个具体的实施例中,听众插件数据包括信令通道插件、回放插件、画笔绘制插件、鼠标绘制插件和翻页通知插件。其中,信令通道插件用于创建接收目标操作(包含目标操作的动作信令文本)的信令通道,回放插件用于实现对目标操作的回放,离线信令插件用于实现对目标操作的离线回放,画笔绘制插件用于实现在画笔状态下鼠标移动轨迹这一目标操作的解析和回放,鼠标绘制插件用于实现在空闲状态下鼠标移动轨迹这一目标操作的解析和回放,翻页通知插件用于实现点击翻页操作中上一页/下一页的翻页操作这一目标操作事件的解析和回放。
具体的,步骤305,根据所述至少一种目标操作确定第一终端上针对所述待演示的文档所执行的操作,将所述待演示的文档与所述操作同步播放,包括:
根据所述至少一种目标操作确定第一终端上针对所述待演示的文档所执行的操作;
当所述操作为鼠标移动事件时,在所述鼠标移动事件对应的文档页面上叠加画布,在播放所述文档页面时,根据所述鼠标移动事件对应的目标操作中的操作信息和时序信息于所述画布上绘制所述鼠标移动事件。
鼠标移动事件包括空闲状态下鼠标移动、画笔绘制等授课用户在授课课程中通过操作鼠标而在文档中执行目标操作形成动态效果。本发明实施例中,第一终端采集目标操作通过信令通道以信令进行传输并上传到服务器,从而听课用户可以通过第二终端从服务器获取纯文本格式的信令,通过对信令进行解析来实现对目标操作事件的回放。当目标操作事件为鼠标移动事件时,根据目标操作事件与文档页面的对应关系,在对应的文档页面上叠加画布并于画布上绘制对应的鼠标移动事件,实现对鼠标移动事件的回放,如此可以达到与实际演示文档相同完全的清晰程度,避免听课用户收听指定课程中观看授课用户对文档进行的目标操作事件时出现模糊或失真的情况,请参阅图7,为根据所述鼠标移动事件对应的操作信令于所述画布上绘制所述鼠标移动事件的效果示意图。
请参阅图8,为本发明又一实施例提供的文档动态播放装置,包括:发送模块31,用于发送收听请求指令给服务器;接收模块33,用于接收所述服务器基于所述收听请求指令发送的第一终端针对待演示的文档所执行的至少一种目标操作及所述待演示的文档,其中,目标操作中包括操作信息和时序信息,所述文档为超文本格式的文档;播放模块35,用于根据所述至少一种目标操作确定第一终端上针对所述待演示的文档所执行的操作,将所述文档与所述操作同步播放。
在一个可选的实施例中,所述接收模块33,具体用于当所述收听请求指令为直播请求指令时,接收服务器发送的待演示的文档、及第一终端针对待演示的文档所执行的基于当前时间所确定的当前关键帧对应的目标操作,并接收服务器实时发送的所述当前时间后的目标操作。
在另一个可选的实施例中,所述接收模块33,具体用于当所述收听请求指令为录播请求指令时,接收服务器基于所述录播请求指令而发送第一终端针对待演示的文档所执行的全部目标操作及所述待演示的文档。
在一个可选的实施例中,所述发送模块31,具体用于检测对web客户端的预设操作,基于所述预设操作发送收听请求指令给服务器;接收所述服务器基于接收到所述收听请求指令而发送的收听插件数据,根据所述收听插件数据加载相应的插件,通过加载所述相应的插件执行所述根据所述至少一种目标操作确定第一终端针对所述待演示的文档所执行的操作,将所述待演示的文档与所述操作同步播放。
进一步的,所述播放模块35,具体用于:根据所述至少一种目标操作确定第一终端上针对所述待演示的文档所执行的操作;当所述操作为鼠标移动事件时,在所述鼠标移动事件对应的文档页面上叠加画布,在播放所述文档页面时,根据所述鼠标移动事件对应的目标操作中的操作信息和时序信息于所述画布上绘制所述鼠标移动事件。
需要说明的是:上述实施例提供的文档动态播放装置在实现文档的实时动态播放时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的文档动态播放装置与应用于第二终端的文档动态播放方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参阅图9,本发明另一可选的实施例还提供一种文档动态播放方法,可应用于图1所示文档动态播放系统,包括如下步骤:
步骤401,第一终端发送待演示的文档给服务器,其中,所述待演示的文档为超文本格式的文档;
步骤403,所述第一终端建立与所述服务器之间的至少一条信令通道,通过所述至少一条信令通道发送针对所述待演示的文档所执行的至少一种目标操作给所述服务器,其中,目标操作中包括操作信息和时序信息;
步骤405,第二终端发送收听请求指令给所述服务器;
步骤407,所述服务器获取所述收听请求指令,根据所述收听请求指令将对应的所述待演示的文档以及目标操作发送给所述第二终端。
具体的,授课用户可采用第一终端将授课所采用的待演示的文档上传给服务器,且第一终端对授课用户针对该待演示的文档所执行的目标操作采集并发送给服务器。听课用户可采用第二终端发送收听请求指令,服务器根据听课用户的请求而发送该待演示的文档和目标操作到第二终端,以供听课用户通过第二终端收看授课内容,该授课内容包括文档和授课用户对文档所执行的目标操作,如点击、翻页、用画笔标记等,达到与授课用户所在的第一终端进行演示相同的动态效果。可以理解的,第一终端和第二终端是用于区分授课用户和收听用户所对应采用的终端,在不同的应用场景下,授课用户和收听用户可以同一人,从而第一终端和第二终端也可以是安装有主讲客户端和听众客户端的同一物理终端。
在一可选的实施例中,步骤403中,所述第一终端建立与所述服务器之间的至少一条信令通道,包括:
所述第一终端发送启动主讲指令给所述服务器;
所述服务器获取所述启动主讲指令,返回根据所述启动主讲指令确定的主讲插件数据;
所述第一终端获取所述主讲插件数据,根据所述主讲插件数据加载相应的插件,通过加载所述相应的插件建立所述第一终端与所述服务器之间的至少一条信令通道。
具体的,第一终端可以通过安装插件的方式执行主讲客户端所包含的全部或者部分程序。本实施例中,授课用户通过第一终端发送启动主讲指令给服务器,服务器收到启动主讲指令后返回对应的主讲插件数据,第一终端加载插件并建立与服务器之间的一条或者多条信令通道。通过建立信令通道便于将采集到的目标操作以信令的方式进行传输,达到对目标操作通过文本传输以达到减小传输带宽、提升传输效率的目的。其中,插件可以形成为实现不同功能的形式,如建立信令通道、录制等,不同功能的插件可针对不同配置的终端(如个人计算机或者手机终端)或者不同侧的业务需求(如主讲侧和收听侧)进行发放,从而应用性强、且具有更好的通用性。
在另一可选的实施例中,所述步骤401,第一终端发送待演示的文档给服务器,包括:
所述第一终端通过第一应用获取待演示的文档,并将所述待演示的文档发送给服务器;
所述第一终端建立与所述服务器之间的至少一条信令通道,包括:
所述第一终端建立所述第一应用与所述服务器之间的信令通道作为第一信令通道、及建立WebView控件与所述服务器之间的信令通道作为第二信令通道。
具体的,第一应用是指应用客户端。通过分别创建第一应用与所述服务器之间的第一信令通道和WebView控件与所述服务器之间的第二信令通道,两条信令通道均可用于发送目标操作,两条信令通道分别将对应采集到的目标操作发送到服务器。
在一可选的实施例中,步骤403,所述第一终端建立与所述服务器之间的至少一条信令通道,通过所述至少一条信令通道发送针对所述待演示的文档所执行的至少一种目标操作给所述服务器之前,还包括:
所述第一终端采集针对所述待演示的文档所执行的第一目标操作以及第二目标操作;其中,所述第一目标操作用于表征指示信息在所述待演示的文档的位置,且所述指示信息并不使得所述待演示的文档的内容产生变化的操作;所述第二目标操作用于表征使得所述待演示的文档的至少部分内容产生变化的操作;
所述第一终端建立与所述服务器之间的至少一条信令通道,通过所述至少一条信令通道发送针对所述待演示的文档所执行的至少一种目标操作给所述服务器包括:
第一终端建立第一应用与所述服务器之间的信令通道,通过所述信令通道发送所述第一目标操作以及第二目标操作给所述服务器;或,
所述第一终端建立第一应用与所述服务器之间的信令通道作为第一信令通道、及建立WebView控件与所述服务器之间的信令通道作为第二信令通道,通过所述第一信令通道发送所述第一目标操作给所述服务器,通过所述第二信令通道发送所述第二目标操作给所述服务器。
具体的,根据授课用户对待演示的文档所执行的动作,将目标操作分为第一目标操作以及第二目标操作,根据不同目标操作的特性可以优选采用不同方式进行采集。信令通道的数量可以是一条或者两条,如第一终端建立第一应用与服务器之间的信令通道,不同的目标操作可以复用一条信令通道传输给服务器,如此可以减少对信令通道的维护成本。或者第一终端分别建立第一应用与服务器之间的信令通道以及WebView控件与所述服务器之间的信令通道,便于通过不同的信令通道将对应采集的目标操作发送给服务器,具体的,通过第一应用采集第一目标操作,将第一目标操作通过第一信令通道发送给服务器,通过WebView控件采集第二目标操作,将第二目标操作通过第二信令通道发送给服务器,如此避免需要将采集到的目标操作通过转发到复用信令通道从而实现方式相对复杂的问题。
在另一可选的实施例中,步骤407,所述服务器获取所述收听请求指令,根据所述收听请求指令将对应的所述待演示的文档以及目标操作发送给所述第二终端,包括:
所述服务器获取所述收听请求指令;
当所述收听请求指令的类型为直播请求指令时,所述服务器根据所述直播请求指令对应的当前时间确定当前关键帧,将所述待演示的文档及所述当前关键帧对应的目标操作发送给所述第二终端,并将所述当前时间后的目标操作实时发送给所述第二终端;
当所述收听请求指令的类型为录播请求指令时,所述服务器根据所述录播请求指令获取与所述待演示的文档对应的全部的目标操作,将所述待演示的文档及所述全部的目标操作发送给所述第二终端。
收听用户采用第二终端发送收听请求指令,该收听请求指令根据收听用户的不同需求而分为直播请求指令或录播请求指令,其中直播请求指令是指收听用户对当前直播的课程进行收听,录播请求指令是指收听用户对当前已结束的课程进行收听,服务器根据不同的收听请求指令,分别采用对应的方式发送目标操作给第二终端。
在一可选的实施例中,步骤407,所述服务器获取所述收听请求指令,根据所述收听请求指令将对应的所述待演示的文档以及目标操作发送给所述第二终端之后,还包括:
步骤409,所述第二终端根据所述至少一种目标操作确定所述第一终端上针对所述待演示的文档所执行的操作,将所述待演示的文档与所述操作同步播放。
具体的,第二终端接收到目标操作后,通过解析得到第一终端上针对待演示文档所执行的操作,并将文档与操作同步播放,从而实现第二用户在第二终端上收看对应的授课内容,该授课内容包括文档和授课用户对文档所执行的目标操作,如点击、翻页、用画笔标记等,达到与授课用户所在的第一终端进行演示相同的动态效果。
在另一可选的实施例中,步骤405,所述第二终端发送收听请求指令给所述服务器,包括:
所述第二终端检测对web客户端的预设操作,基于所述预设操作发送收听请求指令给所述服务器;
步骤409,所述第二终端根据所述至少一种目标操作确定所述第一终端上针对所述待演示的文档所执行的操作,将所述待演示的文档与所述操作同步播放,包括:
所述第二终端获取所述服务器基于所述收听请求指令返回的收听插件数据,根据所述收听插件数据加载相应的插件,通过所述插件执行根据所述至少一种目标操作确定所述第一终端上针对所述待演示的文档所执行的操作,将所述待演示的文档与所述操作同步播放。
本实施例中,第二终端为安装有web客户端的终端设备,第二终端通过安装插件的方式执行听众客户端所包含的全部或者部分程序。听课用户采用第二终端上的web客户端发送收听请求指令给服务器,服务器根据该收听请求指令发送收听插件数据给第二终端,供第二终端通过安装插件加载相应的程序,执行根据所述至少一种目标操作确定所述第一终端上针对所述待演示的文档所执行的操作,将所述待演示的文档与所述操作同步播放,实现对目标操作进行解析、回放等功能。其中,插件可以形成为实现不同功能的形式,如建立信令通道、鼠标绘制、画笔绘制等,不同功能的插件可针对不同配置的终端(如个人计算机或者手机终端)或者不同侧的业务需求(如收听侧)进行发放,从而应用性强、且具有更好的通用性。
在另一可选的实施例中,步骤409,所述第二终端根据所述至少一种目标操作确定所述第一终端上针对所述待演示的文档所执行的操作,将所述待演示的文档与所述操作同步播放,包括:
所述第二终端根据所述至少一种目标操作确定所述第一终端上针对所述待演示的文档所执行的操作;
当所述操作为鼠标移动事件时,在所述鼠标移动事件对应的文档页面上叠加画布,在播放所述文档页面时,根据所述鼠标移动事件对应的目标操作中的操作信息和时序信息于所述画布上绘制所述鼠标移动事件。
本实施例中,第二终端通过对对应的目标操作进行解析,确定对应操作的操作信息和时序信息并根据所述信息对目标操作进行重绘。具体的,针对鼠标移动事件,第二终端解析目标操作后,根据时序信息而确定对应的鼠标移动事件所对应的文档页面,并根据操作信息确定对应的鼠标移动事件的事件名、坐标等属性,从而通过创建画布并在画布上进行重绘,以实现与授课用户所在的第一终端进行鼠标移动演示相同的动态效果。
在一可选的实施例中,步骤407,所述服务器获取所述收听请求指令,根据所述收听请求指令将对应的所述待演示的文档以及目标操作发送给所述第二终端之前,还包括:
所述服务器将所述至少一种目标操作打包形成压缩文件资源和文件夹资源中的至少一种;
所述服务器将所述压缩文件资源和文件夹资源中的至少一种上传至内容分发网络进行存储,并记录所述待演示的文档与所述压缩文件资源和文件夹资源中至少一种的对应关系。
具体的,服务器通过将目标操作形成为不同类型的文件资源,方便服务器根据第二终端的不同收听需求而选取相应形式的文件资源发送,从而增加响应速度。可选的,将目标操作打包形成压缩文件资源或文件夹资源是指,将包含针对文档的所有的目标操作合并形成的动作信令文本打包形成压缩文件资源和文件夹资源,此种情况适合于听课用户以录播的方式收听指定课程。将目标操作打包形成压缩文件资源或文件夹资源还可以是指,将包含针对文档的每一关键帧所包含的目标操作合并形成的动作信令文本分别实时打包形成压缩文件资源和文件夹资源,此种情况适合于听课用户以直播的方式收听指定课程。
请参阅图10,以收听请求指令为直播请求指令为例,为本发明实施例所提供文档动态播放系统实现文档动态播放方法的一个可选的时序图,第一终端为安装有主讲客户端的终端设备,第二终端为安装有听众客户端的终端设备,转换服务侧为实现将PPT转HTML格式的文档的转换软件,以下结合该时序图对文档动态播放方法的步骤进行说明:
S1,上传PPT;具体包括授课用户通过第一终端将PPT上传主讲客户端;
S2,PPT转换;具体包括第一终端通过主讲客户端调用PPT转HTML格式的文档的转换软件的API接口,转换软件将PPT转换为HTML格式的文档,可以是转换软件在实现转换功能的转换服务端的支持下完成PPT到HTML格式的文档的转换。
S3,通知上课,具体包括第一终端获取授课用户发送启动上课指令。
S4,采集指定的目标操作形成客户端信令和web信令;具体包括第一终端通过主讲客户端和Webview控件分别采集授课用户通过第一终端针对文档所执行的指定的第一目标操作、第二目标操作,分别形成客户端信令和web信令通过信令通道发送给服务器;信令通道具体包括第一信令通道和第二信令通道,第一信令通道为创建于第一终端的主讲客户端与服务器之间的信令通道,第二信令通道为创建于第一终端的webview控件与服务器之间的信令通道。信令通道也可以是仅包括创建于第一终端的主讲客户端与服务器之间的信令通道。
S5,发出上课申请;具体包括听课用户通过第二终端发送收听请求指令给服务器;
S6,返回PPT地址,具体包括服务器基于收听请求指令返回PPT地址给第二终端;
S7,返回动作信令,具体包括服务器将与当前关键帧对应的客户端信令和web信令合并形成的动作信令文本发送给第二终端。
S8,持续返回动作信令,具体包括服务器将根据第一终端上对文档执行的实时目标操作的执行数据对应形成的客户端信令和web信令合并形成动作信令文本,并实时发送给第二终端。
S9,绘制PPT;具体包括第二终端接收服务器发送的PPT地址绘制PPT。
S10,绘制动作;具体包括第二终端接收服务器发送的动作信令文本,根据解析动作信令文本中的目标操作,根据各目标操作的操作信息和时序信息绘制对应的目标操作。
基于与本发明上述实施例相同的技术构思,当收听请求指令为录播请求指令时,上述时序图中S7、S8对应为服务器将与所述文档对应的全部客户端信令和web信令合并形成的动作信令文本发送给第二终端。该文档动态播放方法中,基于授课用户通过第一终端发送的启动上课指令,第一终端创建两条信令通道分别将采集到的授课用户针对文档所执行的第一目标操作和第二目标操作,通过信令通道以信令的形式发送给服务器,服务器将第一目标操作和第二目标操作合并形成动作信令文本,并基于听课用户通过第二终端发送的收听请求指令,将转换成HTML格式的PPT和包含目标操作的动作信令文本传输给第二终端,第二终端接收服务器发送的纯文本格式的PPT和目标操作,并通过解析目标操作重新绘制PPT及授课用户针对文档所执行的目标操作,实现对文档的实时同步播放。
本发明实施例提供的文档动态播放方法可以采用终端侧或者服务器侧实施,就文档动态播放装置的硬件结构而言,请参阅图11,为本发明实施例提供的文档动态播放装置的一个可选的硬件结构示意图,该文档动态播放装置可以是移动手机、计算机设备、平板设备、个人数字处理等。该文档动态播放装置包括:至少一个处理器101、存储器102和至少一个网络接口104。文档动态播放装置中的各个组件通过总线系统105耦合在一起。可以理解的,总线系统105用于实现这些组件之间的连接通信。总线系统105除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图10中将各种总线都标为总线系统。
可以理解,存储器102可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,StaticRandom Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static RandomAccess Memory)。本发明实施例描述的存储器旨在包括但不限于这些和任意其它适合类别的存储器。
本发明实施例中的存储器102用于存储各种类别的数据以支持文档动态播放装置的操作。这些数据的示例包括:用于在文档动态播放装置上操作的任何可执行程序,如操作系统1021和应用程序1022;其中,操作系统1021包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序1022可以包含各种应用程序,例如将PPT转换为HTML格式的文档的软件、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例提供的文档动态播放方法的计算机程序可以包含在应用程序1022中。
上述本发明实施例揭示的方法可以应用于处理器101中,或者由处理器101实现。处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器101可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器101可以是微处理器或者任何常规的处理器等。结合本发明实施例所提供的文档动态播放方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,文档动态播放装置可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable LogicDevice),用于执行前述方法。
在示例性实施例中,本发明实施例还提供了一种可读存储介质,例如包括可执行程序的存储器,上述可执行程序可由处理器执行,以完成前述方法的步骤。可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备,如移动电话、计算机设备、平板设备、个人数字助理、医疗设备等。
本发明实施例还提供了一种文档动态播放装置,该文档动态播放装置为与应用于第一终端的文档动态播放方法实施例属于同一构思的文档动态播放装置,该文档动态播放装置包括处理器及用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行:一种文档动态播放方法,包括:获取待演示的文档,所述待演示的文档为超文本格式的文档;采集针对所述待演示的文档所执行的至少一种目标操作;其中,目标操作中包括操作信息以及时序信息;建立所述第一终端与服务器之间的至少一条信令通道,通过所述至少一条信令通道向所述服务器上传所述至少一种目标操作以及所述待演示的文档。
所述处理器用于运行所述计算机程序时,执行:所述建立所述第一终端与服务器之间的至少一条信令通道,包括:发送启动主讲指令给服务器,并接收服务器返回的根据所述启动主讲指令确定的主讲插件数据;根据所述主讲插件数据加载相应的插件,通过加载所述相应的插件建立所述第一终端与服务器之间的至少一条信令通道。
所述处理器用于运行所述计算机程序时,执行:所述获取待演示的文档,包括:通过第一应用获取待演示的文档;所述建立所述第一终端与服务器之间的至少一条信令通道,包括:建立所述第一终端的第一应用与所述服务器之间的信令通道作为第一信令通道、及建立所述第一终端的WebView控件与所述服务器之间的信令通道作为第二信令通道。
所述处理器用于运行所述计算机程序时,执行:所述采集针对所述待演示的文档所执行的至少一种目标操作,包括:采集针对所述待演示的文档第一目标操作以及第二目标操作;其中,所述第一目标操作用于表征指示信息在所述待演示的文档的位置,且所述指示信息并不使得所述待演示的文档的内容产生变化的操作;所述第二目标操作用于表征使得所述待演示的文档的至少部分内容产生变化的操作。
所述处理器用于运行所述计算机程序时,执行:所述通过所述至少一条信令通道向所述服务器上传所述至少一种目标操作,包括:通过所述第一终端的第一应用与所述服务器之间的信令通道发送所述第一目标操作,通过所述第一终端的WebView控件与所述服务器之间的信令通道发送第二目标操作。
所述处理器用于运行所述计算机程序时,执行:所述获取待演示的文档,包括:获取待转换PPT;获取文档转换指令,根据所述文档转换指令将所述待转换PPT转换为超文本格式的待演示的文档。
本发明实施例还提供了一种文档动态播放装置,所述文档动态播放装置为与应用于服务器的文档动态播放方法实施例属于同一构思的文档动态播放装置,该文档动态播放装置包括处理器及用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行:一种文档动态播放方法,包括:获取第一终端发送的待演示的文档,所述待演示的文档为超文本格式的文档;获取所述第一终端通过至少一条信令通道发送的针对所述待演示的文档所执行的至少一种目标操作;其中,目标操作中包括操作信息和时序信息;将所述至少一种目标操作及所述待演示的文档发送给第二终端。
所述处理器用于运行所述计算机程序时,执行:所述将所述至少一种目标操作及所述待演示的文档发送给第二终端,包括:获取第二终端发送的收听请求指令;当所述第二终端为web客户端时,根据所述收听请求指令的类型发送听众插件数据、所述至少一种目标操作及所述待演示的文档给所述第二终端,所述听众插件数据供所述第二终端安装后解析并回放所述至少一种目标操作;当所述第二终端为应用客户端时,根据所述收听请求指令的类型发送所述至少一种目标操作及所述待演示的文档给所述第二终端。
所述处理器用于运行所述计算机程序时,执行:所述将所述至少一种目标操作及所述待演示的文档发送给第二终端,包括:获取第二终端发送的收听请求指令;当所述收听请求指令的类型为直播请求指令时,根据所述直播请求指令对应的当前时间确定当前关键帧,将所述待演示的文档及所述当前关键帧对应的目标操作发送给所述第二终端,并将所述当前时间后的目标操作实时发送给所述第二终端。
所述处理器用于运行所述计算机程序时,执行:所述将所述至少一种目标操作及所述待演示的文档发送给第二终端,包括:获取第二终端发送的收听请求指令;当所述收听请求指令的类型为录播请求指令时,根据所述录播请求指令获取与所述待演示的文档对应的全部的目标操作,将所述待演示的文档及所述全部的目标操作发送给所述第二终端。
所述处理器用于运行所述计算机程序时,执行:所述获取第一终端发送的待演示的文档之前,还包括:获取第一终端发送的启动主讲指令,根据所述启动主讲指令发送主讲插件数据给所述第一终端,所述第二插件数据供所述第一终端安装后建立所述第一终端与服务器之间的所述至少一条信令通道。
所述处理器用于运行所述计算机程序时,执行:所述获取所述第一终端通过至少一条信令通道发送的针对所述待演示的文档所执行的至少一种目标操作,包括:获取第一终端通过至少一条信令通道发送的针对所述待演示的文档所执行的第一目标操作和第二目标操作,其中,所述第一目标操作用于表征指示信息在所述待演示的文档的位置,且所述指示信息并不使得所述待演示的文档的内容产生变化的操作;所述第二目标操作用于表征使得所述待演示的文档的至少部分内容产生变化的操作;所述将所述至少一种目标操作及所述待演示的文档发送给第二终端,包括:将所述第一目标操作和所述第二目标操作进行合并形成动作信令文本;将所述待演示的文档发送给第二终端,并将所述动作信令文本通过一个信令通道发送给所述第二终端。
所述处理器用于运行所述计算机程序时,执行:所述将所述至少一种目标操作及所述待演示的文档发送给第二终端之前,还包括:将所述至少一种目标操作打包形成压缩文件资源和文件夹资源中的至少一种;将所述压缩文件资源和文件夹资源中的至少一种上传至内容分发网络进行存储,并记录所述待演示的文档与所述压缩文件资源和文件夹资源中至少一种的对应关系。
本发明实施例还提供了一种文档动态播放装置,该文档动态播放装置为与应用于第二终端的文档动态播放方法实施例属于同一构思的文档动态播放装置,该文档动态播放装置包括处理器及用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行:一种文档动态播放方法,应用于第二终端,包括:发送收听请求指令给服务器;接收所述服务器基于所述收听请求指令发送的第一终端针对待演示的文档所执行的至少一种目标操作及所述待演示的文档,其中,目标操作中包括操作信息以及时序信息,所述待演示的文档为超文本格式的文档;
根据所述至少一种目标操作确定所述第一终端上针对所述待演示的文档所执行的操作,将所述待演示的文档与所述操作同步播放。
所述处理器用于运行所述计算机程序时,执行:所述接收所述服务器基于所述收听请求指令发送的第一终端针对待演示的文档所执行的至少一种目标操作及所述待演示的文档,包括:当所述收听请求指令为直播请求指令时,接收服务器发送的待演示的文档、及第一终端针对待演示的文档所执行的基于当前时间所确定的当前关键帧对应的目标操作,并接收服务器实时发送的所述当前时间后的目标操作。
所述处理器用于运行所述计算机程序时,执行:所述接收所述服务器基于所述收听请求指令发送的第一终端针对待演示的文档所执行的至少一种目标操作及所述待演示的文档,包括:当所述收听请求指令为录播请求指令时,接收服务器基于所述录播请求指令而发送的第一终端针对待演示的文档所执行的全部目标操作及所述待演示的文档。
所述处理器用于运行所述计算机程序时,执行:所述发送收听请求指令给服务器,包括:检测对web客户端的预设操作,基于所述预设操作发送收听请求指令给服务器;接收所述服务器基于接收到所述收听请求指令而发送的收听插件数据,根据所述收听插件数据加载相应的插件,通过加载所述相应的插件执行所述根据所述至少一种目标操作确定所述第一终端上针对所述待演示的文档所执行的操作,将所述待演示的文档与所述操作同步播放。
所述处理器用于运行所述计算机程序时,执行:所述根据所述至少一种目标操作确定所述第一终端上针对所述待演示的文档所执行的操作,将所述待演示的文档与所述操作同步播放,包括:根据所述至少一种目标操作确定第一终端上针对所述待演示的文档所执行的操作;当所述操作为鼠标移动事件时,在所述鼠标移动事件对应的文档页面上叠加画布,在播放所述文档页面时,根据所述鼠标移动事件对应的目标操作中的操作信息和时序信息于所述画布上绘制所述鼠标移动事件。
本发明另一实施例还提供一种文档动态播放系统,该文档动态播放系统的组成如图1所示,包括第一终端、第二终端及服务器,第一终端包括与应用于第一终端的文档动态播放方法实施例属于同一构思的文档动态播放装置、第二终端包括与应用于第二终端的文档动态播放方法实施例属于同一构思的文档动态播放装置、服务器包括与应用于服务器的文档动态播放方法实施例属于同一构思的文档动态播放装置。这里,文档动态播放装置可以是由实现对应的文档动态播放方法的计算机程序的程序模块组成的文档动态播放装置,也可以是由具有实现对应的文档动态播放方法的计算机程序的硬件结构组成的文档动态播放装置,在此不再赘述。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (30)
1.一种文档动态播放方法,其特征在于,包括:
获取待演示的文档,所述待演示的文档为超文本格式的文档;
采集针对所述待演示的文档所执行的至少一种目标操作;其中,目标操作中包括操作信息以及时序信息;
建立第一终端与服务器之间的至少一条信令通道,通过所述至少一条信令通道向所述服务器上传所述至少一种目标操作以及所述待演示的文档。
2.如权利要求1所述的文档动态播放方法,其特征在于,所述建立第一终端与服务器之间的至少一条信令通道,包括:
发送启动主讲指令给服务器,并接收服务器返回的根据所述启动主讲指令确定的主讲插件数据;
根据所述主讲插件数据加载相应的插件,通过加载所述相应的插件建立第一终端与服务器之间的至少一条信令通道。
3.如权利要求1所述的文档动态播放方法,其特征在于,所述获取待演示的文档,包括:通过第一应用获取待演示的文档;
所述建立第一终端与服务器之间的至少一条信令通道,包括:
建立第一终端的第一应用与所述服务器之间的信令通道作为第一信令通道、及建立第一终端的WebView控件与所述服务器之间的信令通道作为第二信令通道。
4.如权利要求1至3中任一项所述的文档动态播放方法,其特征在于,所述采集针对所述待演示的文档所执行的至少一种目标操作,包括:
采集针对所述待演示的文档第一目标操作以及第二目标操作;其中,所述第一目标操作用于表征指示信息在所述待演示的文档的位置,且所述指示信息并不使得所述待演示的文档的内容产生变化的操作;所述第二目标操作用于表征使得所述待演示的文档的至少部分内容产生变化的操作。
5.如权利要求4所述的文档动态播放方法,其特征在于,所述通过所述至少一条信令通道向所述服务器上传所述至少一种目标操作,包括:
通过第一终端的第一应用与所述服务器之间的信令通道发送所述第一目标操作,通过第一终端的WebView控件与所述服务器之间的信令通道发送第二目标操作。
6.如权利要求1所述的文档动态播放方法,其特征在于,所述获取待演示的文档,包括:
获取待转换PPT;
获取文档转换指令,根据所述文档转换指令将所述待转换PPT转换为超文本格式的待演示的文档。
7.一种文档动态播放方法,其特征在于,包括:
获取第一终端发送的待演示的文档,所述待演示的文档为超文本格式的文档;
获取所述第一终端通过至少一条信令通道发送的针对所述待演示的文档所执行的至少一种目标操作;其中,目标操作中包括操作信息和时序信息;
将所述至少一种目标操作及所述待演示的文档发送给第二终端。
8.如权利要求7所述的文档动态播放方法,其特征在于,所述将所述至少一种目标操作及所述待演示的文档发送给第二终端,包括:
获取第二终端发送的收听请求指令;
当所述第二终端为web客户端时,根据所述收听请求指令的类型发送听众插件数据、所述至少一种目标操作及所述待演示的文档给所述第二终端,所述听众插件数据供所述第二终端安装后解析并回放所述至少一种目标操作;
当所述第二终端为应用客户端时,根据所述收听请求指令的类型发送所述至少一种目标操作及所述待演示的文档给所述第二终端。
9.如权利要求7所述的文档动态播放方法,其特征在于,所述将所述至少一种目标操作及所述待演示的文档发送给第二终端,包括:
获取第二终端发送的收听请求指令;
当所述收听请求指令的类型为直播请求指令时,根据所述直播请求指令对应的当前时间确定当前关键帧,将所述待演示的文档及所述当前关键帧对应的目标操作发送给所述第二终端,并将所述当前时间后的目标操作实时发送给所述第二终端。
10.如权利要求7所述的文档动态播放方法,其特征在于,所述将所述至少一种目标操作及所述待演示的文档发送给第二终端,包括:
获取第二终端发送的收听请求指令;
当所述收听请求指令的类型为录播请求指令时,根据所述录播请求指令获取与所述待演示的文档对应的全部的目标操作,将所述待演示的文档及所述全部的目标操作发送给所述第二终端。
11.如权利要求7所述的文档动态播放方法,其特征在于,所述获取第一终端发送的待演示的文档之前,还包括:
获取第一终端发送的启动主讲指令,根据所述启动主讲指令发送主讲插件数据给所述第一终端,所述第二插件数据供所述第一终端安装后建立所述第一终端与服务器之间的所述至少一条信令通道。
12.如权利要求7至11中任一项所述的文档动态播放方法,其特征在于,所述获取所述第一终端通过至少一条信令通道发送的针对所述待演示的文档所执行的至少一种目标操作,包括:
获取第一终端通过至少一条信令通道发送的针对所述待演示的文档所执行的第一目标操作和第二目标操作,其中,所述第一目标操作用于表征指示信息在所述待演示的文档的位置,且所述指示信息并不使得所述待演示的文档的内容产生变化的操作;所述第二目标操作用于表征使得所述待演示的文档的至少部分内容产生变化的操作;
所述将所述至少一种目标操作及所述待演示的文档发送给第二终端,包括:
将所述第一目标操作和所述第二目标操作进行合并形成动作信令文本;
将所述待演示的文档发送给第二终端,并将所述动作信令文本通过一个信令通道发送给所述第二终端。
13.如权利要求7至11中任一项所述的文档动态播放方法,其特征在于,所述将所述至少一种目标操作及所述待演示的文档发送给第二终端之前,还包括:
将所述至少一种目标操作打包形成压缩文件资源和文件夹资源中的至少一种;
将所述压缩文件资源和文件夹资源中的至少一种上传至内容分发网络进行存储,并记录所述待演示的文档与所述压缩文件资源和文件夹资源中至少一种的对应关系。
14.一种文档动态播放方法,其特征在于,包括:
发送收听请求指令给服务器;
接收所述服务器基于所述收听请求指令发送的第一终端针对待演示的文档所执行的至少一种目标操作及所述待演示的文档,其中,目标操作中包括操作信息以及时序信息,所述待演示的文档为超文本格式的文档;
根据所述至少一种目标操作确定所述第一终端上针对所述待演示的文档所执行的操作,将所述待演示的文档与所述操作同步播放。
15.如权利要求14所述的文档动态播放方法,其特征在于,所述接收所述服务器基于所述收听请求指令发送的第一终端针对待演示的文档所执行的至少一种目标操作及所述待演示的文档,包括:
当所述收听请求指令为直播请求指令时,接收服务器发送的待演示的文档、及第一终端针对待演示的文档所执行的基于当前时间所确定的当前关键帧对应的目标操作,并接收服务器实时发送的所述当前时间后的目标操作。
16.如权利要求14所述的文档动态播放方法,其特征在于,所述接收所述服务器基于所述收听请求指令发送的第一终端针对待演示的文档所执行的至少一种目标操作及所述待演示的文档,包括:
当所述收听请求指令为录播请求指令时,接收服务器基于所述录播请求指令而发送的第一终端针对待演示的文档所执行的全部目标操作及所述待演示的文档。
17.如权利要求14所述的文档动态播放方法,其特征在于,所述发送收听请求指令给服务器,包括:
检测对web客户端的预设操作,基于所述预设操作发送收听请求指令给服务器;
接收所述服务器基于接收到所述收听请求指令而发送的收听插件数据,根据所述收听插件数据加载相应的插件,通过加载所述相应的插件执行所述根据所述至少一种目标操作确定所述第一终端上针对所述待演示的文档所执行的操作,将所述待演示的文档与所述操作同步播放。
18.如权利要求17所述的文档动态播放方法,其特征在于,所述根据所述至少一种目标操作确定所述第一终端上针对所述待演示的文档所执行的操作,将所述待演示的文档与所述操作同步播放,包括:
根据所述至少一种目标操作确定第一终端上针对所述待演示的文档所执行的操作;
当所述操作为鼠标移动事件时,在所述鼠标移动事件对应的文档页面上叠加画布,在播放所述文档页面时,根据所述鼠标移动事件对应的目标操作中的操作信息和时序信息于所述画布上绘制所述鼠标移动事件。
19.一种文档动态播放方法,其特征在于,包括:
第一终端发送待演示的文档给服务器,其中,所述待演示的文档为超文本格式的文档;
所述第一终端建立与所述服务器之间的至少一条信令通道,通过所述至少一条信令通道发送针对所述待演示的文档所执行的至少一种目标操作给所述服务器,其中,目标操作中包括操作信息和时序信息;
第二终端发送收听请求指令给所述服务器;
所述服务器获取所述收听请求指令,根据所述收听请求指令将对应的所述待演示的文档以及目标操作发送给所述第二终端。
20.如权利要求19所述的文档动态播放方法,其特征在于,所述第一终端发送待演示的文档给服务器,包括:
所述第一终端通过第一应用获取待演示的文档,并将所述待演示的文档发送给服务器;
所述第一终端建立与所述服务器之间的至少一条信令通道,包括:
所述第一终端建立所述第一应用与所述服务器之间的信令通道作为第一信令通道、及建立WebView控件与所述服务器之间的信令通道作为第二信令通道。
21.如权利要求19所述的文档动态播放方法,其特征在于,所述第一终端建立与所述服务器之间的至少一条信令通道,通过所述至少一条信令通道发送针对所述待演示的文档所执行的至少一种目标操作给所述服务器之前,还包括:
所述第一终端采集针对所述待演示的文档所执行的第一目标操作以及第二目标操作;其中,所述第一目标操作用于表征指示信息在所述待演示的文档的位置,且所述指示信息并不使得所述待演示的文档的内容产生变化的操作;所述第二目标操作用于表征使得所述待演示的文档的至少部分内容产生变化的操作;
所述第一终端建立与所述服务器之间的至少一条信令通道,通过所述至少一条信令通道发送针对所述待演示的文档所执行的至少一种目标操作给所述服务器包括:
第一终端建立第一应用与所述服务器之间的信令通道,通过所述信令通道发送所述第一目标操作以及第二目标操作给所述服务器;或,
所述第一终端建立第一应用与所述服务器之间的信令通道作为第一信令通道、及建立WebView控件与所述服务器之间的信令通道作为第二信令通道,通过所述第一信令通道发送所述第一目标操作给所述服务器,通过所述第二信令通道发送所述第二目标操作给所述服务器。
22.如权利要求19所述的文档动态播放方法,其特征在于,所述服务器获取所述收听请求指令,根据所述收听请求指令将对应的所述待演示的文档以及目标操作发送给所述第二终端之后,还包括:
所述第二终端根据所述至少一种目标操作确定所述第一终端上针对所述待演示的文档所执行的操作,将所述待演示的文档与所述操作同步播放。
23.一种文档动态播放装置,其特征在于,包括:
获取模块,用于获取待演示的文档,所述待演示的文档为超文本格式的文档;
采集模块,用于采集针对所述待演示的文档所执行的至少一种目标操作;其中,目标操作中包括操作信息以及时序信息;
文本发送模块,用于建立所述第一终端与服务器之间的至少一条信令通道,通过所述至少一条信令通道向所述服务器上传所述至少一种目标操作以及所述待演示的文档。
24.一种文档动态播放装置,其特征在于,包括:
文档获取模块,用于获取第一终端发送的待演示的文档,所述待演示的文档为超文本格式的文档;
信令获取模块,用于获取所述第一终端通过至少一条信令通道发送的针对所述待演示的文档所执行的至少一种目标操作;其中,目标操作中包括操作信息和时序信息;
发送模块,用于将所述至少一种目标操作及所述待演示的文档发送给第二终端。
25.一种文档动态播放装置,其特征在于,包括:
发送模块,用于发送收听请求指令给服务器;
接收模块,用于接收所述服务器基于所述收听请求指令发送的第一终端针对待演示的文档所执行的至少一种目标操作及所述待演示的文档,其中,目标操作中包括操作信息和时序信息,所述待演示的文档为超文本格式的文档;
播放模块,用于根据所述至少一种目标操作确定所述第一终端上针对所述待演示的文档所执行的操作,将所述待演示的文档与所述操作同步播放。
26.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-18中任意一项所述文档动态播放方法。
27.一种文档动态播放装置,包括处理器及用于存储能够在处理器上运行的计算机程序的存储器,其特征在于,所述处理器用于运行所述计算机程序时执行如权利要求1-6中任意一项所述文档动态播放方法。
28.一种文档动态播放装置,包括处理器及用于存储能够在处理器上运行的计算机程序的存储器,其特征在于,所述处理器用于运行所述计算机程序时执行如权利要求7-13中任意一项所述文档动态播放方法。
29.一种文档动态播放装置,包括处理器及用于存储能够在处理器上运行的计算机程序的存储器,其特征在于,所述处理器用于运行所述计算机程序时执行如权利要求14-18中任意一项所述文档动态播放方法。
30.一种文档动态播放系统,包括第一终端、第二终端及服务器,所述第一终端包括权利要求23或27所述的文档动态播放装置,所述服务器包括如权利要求24或28所述的文档动态播放装置,所述第二终端包括如权利要求25或29所述的文档动态播放装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711457772.8A CN109981711B (zh) | 2017-12-28 | 2017-12-28 | 文档动态播放方法、装置、系统及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711457772.8A CN109981711B (zh) | 2017-12-28 | 2017-12-28 | 文档动态播放方法、装置、系统及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109981711A true CN109981711A (zh) | 2019-07-05 |
CN109981711B CN109981711B (zh) | 2021-10-15 |
Family
ID=67074468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711457772.8A Active CN109981711B (zh) | 2017-12-28 | 2017-12-28 | 文档动态播放方法、装置、系统及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109981711B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110460864A (zh) * | 2019-07-16 | 2019-11-15 | 仲恺农业工程学院 | 一种提高在线直播授课画质的方法 |
CN110650159A (zh) * | 2019-10-25 | 2020-01-03 | 广州六一信息科技有限公司 | 多人互动的线上教学方法、装置及系统 |
CN111131876A (zh) * | 2019-12-13 | 2020-05-08 | 深圳市咨聊科技有限公司 | 视频直播的控制方法、装置、终端及计算机可读存储介质 |
CN111163360A (zh) * | 2020-01-02 | 2020-05-15 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、计算机可读存储介质和计算机设备 |
CN112533054A (zh) * | 2019-09-19 | 2021-03-19 | 腾讯科技(深圳)有限公司 | 在线视频的播放方法、装置及存储介质 |
CN113660218A (zh) * | 2021-07-27 | 2021-11-16 | 上海上讯信息技术股份有限公司 | 一种基于运维录像的定点播放的方法及设备 |
CN114168098A (zh) * | 2021-12-10 | 2022-03-11 | 天津洪恩完美未来教育科技有限公司 | 电子白板的数据同步方法、装置、设备和存储介质 |
CN114363684A (zh) * | 2021-12-15 | 2022-04-15 | 创盛视联数码科技(北京)有限公司 | 一种文档显示方法、装置及存储介质 |
CN115062247A (zh) * | 2022-05-30 | 2022-09-16 | 北京优酷科技有限公司 | 网页的本地操作、处理方法、电子设备和存储介质 |
CN115309308A (zh) * | 2022-07-20 | 2022-11-08 | 北京达佳互联信息技术有限公司 | 在线文档的评论方法、装置、设备、系统及存储介质 |
CN115589408A (zh) * | 2022-11-24 | 2023-01-10 | 南京伯索网络科技有限公司 | 多端在线播放ppt的系统及同步方法、电子设备、存储介质 |
TWI828088B (zh) * | 2022-03-21 | 2024-01-01 | 和碩聯合科技股份有限公司 | 用於視訊會議或視訊教學的電子裝置以及顯示方法 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100131614A1 (en) * | 2008-11-24 | 2010-05-27 | The Boeing Company | System and method for scalable architecture for web-based collaborative annotation of page-based documents |
CN101867665A (zh) * | 2009-04-15 | 2010-10-20 | 中兴通讯股份有限公司 | 媒体资源播放系统、方法、以及业务服务器 |
CN102004779A (zh) * | 2010-11-19 | 2011-04-06 | 百度在线网络技术(北京)有限公司 | 一种文档共享平台及文档处理方法 |
CN102171994A (zh) * | 2011-04-14 | 2011-08-31 | 华为技术有限公司 | 呈现业务的通知消息的发送和接收方法及设备 |
US20130339862A1 (en) * | 2010-03-19 | 2013-12-19 | Microsoft Corporation | Latency reduction in collaborative presentation sharing environment |
CN104539436A (zh) * | 2014-12-22 | 2015-04-22 | 杭州施强网络科技有限公司 | 一种课堂内容实时直播方法及系统 |
CN104540026A (zh) * | 2014-12-22 | 2015-04-22 | 杭州施强网络科技有限公司 | 一种课堂内容录像及回放方法及系统 |
CN105630459A (zh) * | 2014-10-25 | 2016-06-01 | 上海未达数码科技有限公司 | 一种将ppt转换为html页面的方法 |
CN106162043A (zh) * | 2015-04-14 | 2016-11-23 | 杭州施强网络科技有限公司 | 一种视频会议系统中多媒体文件演示方法 |
CN106375296A (zh) * | 2016-08-30 | 2017-02-01 | 杭州施强教育科技有限公司 | 一种多媒体课件教学直播方法 |
CN107015950A (zh) * | 2017-03-20 | 2017-08-04 | 厦门云开云科技有限公司 | 一种scorm课件的生成方法及装置 |
CN107515762A (zh) * | 2016-06-17 | 2017-12-26 | 上海理优教育科技有限公司 | 基于移动智能终端的多人可交互多媒体课件系统 |
-
2017
- 2017-12-28 CN CN201711457772.8A patent/CN109981711B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100131614A1 (en) * | 2008-11-24 | 2010-05-27 | The Boeing Company | System and method for scalable architecture for web-based collaborative annotation of page-based documents |
CN101867665A (zh) * | 2009-04-15 | 2010-10-20 | 中兴通讯股份有限公司 | 媒体资源播放系统、方法、以及业务服务器 |
US20130339862A1 (en) * | 2010-03-19 | 2013-12-19 | Microsoft Corporation | Latency reduction in collaborative presentation sharing environment |
CN102004779A (zh) * | 2010-11-19 | 2011-04-06 | 百度在线网络技术(北京)有限公司 | 一种文档共享平台及文档处理方法 |
CN102171994A (zh) * | 2011-04-14 | 2011-08-31 | 华为技术有限公司 | 呈现业务的通知消息的发送和接收方法及设备 |
CN105630459A (zh) * | 2014-10-25 | 2016-06-01 | 上海未达数码科技有限公司 | 一种将ppt转换为html页面的方法 |
CN104539436A (zh) * | 2014-12-22 | 2015-04-22 | 杭州施强网络科技有限公司 | 一种课堂内容实时直播方法及系统 |
CN104540026A (zh) * | 2014-12-22 | 2015-04-22 | 杭州施强网络科技有限公司 | 一种课堂内容录像及回放方法及系统 |
CN106162043A (zh) * | 2015-04-14 | 2016-11-23 | 杭州施强网络科技有限公司 | 一种视频会议系统中多媒体文件演示方法 |
CN107515762A (zh) * | 2016-06-17 | 2017-12-26 | 上海理优教育科技有限公司 | 基于移动智能终端的多人可交互多媒体课件系统 |
CN106375296A (zh) * | 2016-08-30 | 2017-02-01 | 杭州施强教育科技有限公司 | 一种多媒体课件教学直播方法 |
CN107015950A (zh) * | 2017-03-20 | 2017-08-04 | 厦门云开云科技有限公司 | 一种scorm课件的生成方法及装置 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110460864A (zh) * | 2019-07-16 | 2019-11-15 | 仲恺农业工程学院 | 一种提高在线直播授课画质的方法 |
CN112533054B (zh) * | 2019-09-19 | 2023-02-28 | 腾讯科技(深圳)有限公司 | 在线视频的播放方法、装置及存储介质 |
CN112533054A (zh) * | 2019-09-19 | 2021-03-19 | 腾讯科技(深圳)有限公司 | 在线视频的播放方法、装置及存储介质 |
CN110650159A (zh) * | 2019-10-25 | 2020-01-03 | 广州六一信息科技有限公司 | 多人互动的线上教学方法、装置及系统 |
CN111131876A (zh) * | 2019-12-13 | 2020-05-08 | 深圳市咨聊科技有限公司 | 视频直播的控制方法、装置、终端及计算机可读存储介质 |
CN111131876B (zh) * | 2019-12-13 | 2022-06-24 | 深圳市咨聊科技有限公司 | 视频直播的控制方法、装置、终端及计算机可读存储介质 |
CN111163360A (zh) * | 2020-01-02 | 2020-05-15 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、计算机可读存储介质和计算机设备 |
CN111163360B (zh) * | 2020-01-02 | 2021-11-16 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、计算机可读存储介质和计算机设备 |
CN113660218A (zh) * | 2021-07-27 | 2021-11-16 | 上海上讯信息技术股份有限公司 | 一种基于运维录像的定点播放的方法及设备 |
CN113660218B (zh) * | 2021-07-27 | 2023-05-02 | 上海上讯信息技术股份有限公司 | 一种基于运维录像的定点播放的方法及设备 |
CN114168098A (zh) * | 2021-12-10 | 2022-03-11 | 天津洪恩完美未来教育科技有限公司 | 电子白板的数据同步方法、装置、设备和存储介质 |
CN114363684A (zh) * | 2021-12-15 | 2022-04-15 | 创盛视联数码科技(北京)有限公司 | 一种文档显示方法、装置及存储介质 |
TWI828088B (zh) * | 2022-03-21 | 2024-01-01 | 和碩聯合科技股份有限公司 | 用於視訊會議或視訊教學的電子裝置以及顯示方法 |
CN115062247A (zh) * | 2022-05-30 | 2022-09-16 | 北京优酷科技有限公司 | 网页的本地操作、处理方法、电子设备和存储介质 |
CN115309308A (zh) * | 2022-07-20 | 2022-11-08 | 北京达佳互联信息技术有限公司 | 在线文档的评论方法、装置、设备、系统及存储介质 |
CN115589408A (zh) * | 2022-11-24 | 2023-01-10 | 南京伯索网络科技有限公司 | 多端在线播放ppt的系统及同步方法、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109981711B (zh) | 2021-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109981711A (zh) | 文档动态播放方法、装置、系统及计算机可读存储介质 | |
CN105306861B (zh) | 一种网络教学录播方法及系统 | |
CN102005142B (zh) | 一种用于教学的信息交互方法 | |
CN108566558A (zh) | 视频流处理方法、装置、计算机设备及存储介质 | |
EP3055761B1 (en) | Framework for screen content sharing system with generalized screen descriptions | |
CN110673777A (zh) | 在线教学方法、装置、存储介质及终端设备 | |
JP2001245269A (ja) | コミュニケーション・データ作成装置及び作成方法、コミュニケーション・データ再生装置及び再生方法、並びに、プログラム記憶媒体 | |
CN106295107A (zh) | 一种实现医学影像同步会诊的方法及系统 | |
CN109168076A (zh) | 在线课程的录制方法、装置、服务器和介质 | |
CN101155089A (zh) | 无线多媒体实时学习系统与方法 | |
CN103200396A (zh) | 基于信息展示平台的实时视频流显示方法及系统 | |
CN113438285B (zh) | 一种基于私有云架构的智慧校园综合管理平台模型 | |
CN104469397A (zh) | 分配管理设备和分配管理系统 | |
CN111818383B (zh) | 视频数据的生成方法、系统、装置、电子设备及存储介质 | |
CN205961300U (zh) | 智能交互平板 | |
CN114374853A (zh) | 内容展示方法、装置、计算机设备和存储介质 | |
KR20010056342A (ko) | 멀티미디어 원격교육을 위한 사용자인터페이스 및자료구조와 컴퓨터망에서의 멀티미디어 강의 전송 방식 및관리구조 | |
KR20150112113A (ko) | 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법 | |
CN115334063A (zh) | 一种问答式的虚拟人控制方法、系统、设备及存储介质 | |
Shirmohammadi et al. | An approach for recording multimedia collaborative sessions: design and implementation | |
CN106550279A (zh) | 互动直播实现方法、装置及系统 | |
JP2001350775A (ja) | 複数情報提示方法及び装置 | |
Naber et al. | Interactive display services for smart environments | |
Vega-Oliveros et al. | Interactors: operators to automatically generate interactive multimedia documents from captured media | |
Chunwijitra | An advanced cloud-based e-learning platform for higher education for low speed internet |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |