CN105279222A - 一种媒体编辑和播放的方法及其系统 - Google Patents

一种媒体编辑和播放的方法及其系统 Download PDF

Info

Publication number
CN105279222A
CN105279222A CN201510425444.4A CN201510425444A CN105279222A CN 105279222 A CN105279222 A CN 105279222A CN 201510425444 A CN201510425444 A CN 201510425444A CN 105279222 A CN105279222 A CN 105279222A
Authority
CN
China
Prior art keywords
media
web
vxplo
node
user
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.)
Pending
Application number
CN201510425444.4A
Other languages
English (en)
Inventor
孟智平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US14/333,474 external-priority patent/US20150026573A1/en
Application filed by Individual filed Critical Individual
Priority to CN201510425444.4A priority Critical patent/CN105279222A/zh
Publication of CN105279222A publication Critical patent/CN105279222A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/435Filtering based on additional data, e.g. user or group profiles
    • G06F16/437Administration of user profiles, e.g. generation, initialisation, adaptation, distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种创建和播放VXPLO媒体的方法和系统,上述VXPLO媒体是一种新的交互媒体格式,在优选实施例中,VXPLO媒体是一种网页实例。一个VXPLO媒体由多个交互媒体元素组成,可以通过编辑引擎来编辑这些交互媒体元素的属性和交互关系,然后将编辑的结果记录在一个记录装置或资源描述文件中,进而传递给一个能够解析上述记录装置或资源描述文件的播放引擎,最后来播放VXPLO媒体并实现其交互功能。

Description

一种媒体编辑和播放的方法及其系统
技术领域
本发明涉及一种媒体编辑和播放系统,该系统能够产生一种易于传播的VXPLO媒体格式。
背景技术
分享是当今互联网的主要特征之一,然而,在现有技术下,通过网页分享多媒体内容,涉及到对各种多媒体文件的上传以及对网页基本结构的调整。传统的多媒体文件需要被插入到现有网页框架的某个结构中去,并且只能在这些结构的限制中来播放。通过这种方式来传播多媒体文件,需要大量的网页编程工作。同时,在任何媒体文件播放之前,它需要被完全加载。任何用户,如果希望通过互联网来分享多媒体内容,那他必须掌握娴熟的网页变成技术;相反,一个普通的不会编程的用户,是不能自如的在互联网上分享多媒体内容的。另一方面,多媒体文件的大小通常比较大,这意味着无论是上传还是下载多媒体文件,都需要花大量的时间,这大大影响了用户分享多媒体文件的体验。
富媒体是近来互联网技术的焦点之一。富媒体可以呈现出各种动态效果,这些动态效果能够在一段时间内持续播放,或对用户的交互作出响应。正因为如此,人机互动技术获得了广泛的关注。人们花了很多时间和精力来研究人机互动,但经常忽略富媒体中,媒体元素与媒体元素之间的互动。一个媒体元素,可以是一个图片、视频、音频、文档、flash文件等等。在当前技术下,创建媒体元素与元素之间的交互,必须依赖于某种编程软件,比如AdobeFlash。AdobeFlash提供了一种叫ActionScript的编程语言来编辑媒体元素之间的交互关系,最终生成一个flash文件。这个flash文件属于AdobeFlash媒体格式,其中包含各种媒体素材文件。举例来说,如果用AdobeFlash来编辑两个视频元素之间的交互,那么最终生成的flash文件至少包含这两个原始视频文件,这将导致最终的flash文件大小过大而不适合在互联网上传播。如果有一种媒体格式,能够将媒体素材文件本身和交互逻辑分开,并且自动的将媒体素材和相应的交互逻辑相匹配,那么传播这样的媒体格式将变得容易很多。然而,目前互联网技术中并没有如此设计的富媒体格式。
AdobeFlash同时提供了一个flash播放器来播放flash文件,这个播放器必须被安装在浏览器中,才能让浏览器播放flash文件。这个flash播放器(其实是一个浏览器的插件)很容易导致浏览器的崩溃,也正是由于这个原因,苹果系统(iOS)不支持任何flash文件的播放。目前,需要制作夸平台的多媒体交互,唯一办法是编写程序,然而,许多用户并不拥有深厚的编程基础,这导致了大多数用户无法通过富媒体来在互联网上传播他们的创意想法。因此,迫切需要一种编辑工具,来让普通的不懂编程的用户,也能够编辑出交互的富媒体内容。
交互设计能够大大提升用户体验。通常情况下,一个交互设计工具或环境的开发者,会通过收集用户的意见来改进设计工具或环境。但用户可能不仅仅希望提意见,而是更深的参与到设计工具或环境的开发中去。他们可能也希望定制开发属于他们自己的小工具。然而,在通常的设计工具开发模式下,用户的的定制需求很难被满足。
发明内容
本发明的有益效果在于:
本发明提供了一种新媒体格式-VXPLO媒体,其中包含了一系列交互的媒体元素,以及一个记录装置,这个记录装置记录了所有媒体元素之间的交互关系。
本发明同时提供了一个媒体编辑和播放系统来支持VXPLO媒体的编辑和播放。
本发明提供的媒体编辑和播放系统,其中包含了一个编辑VXPLO媒体的编辑引擎,该编辑引擎能够创建一系列的媒体元素,并且编辑这些媒体元素之间的交互关系,然后生成一个记录装置来记录所有这些媒体元素的属性,以及他们之间的交互关系,最终生成一个VXPLO媒体。
本发明提供的媒体编辑和播放系统,其中包含的编辑引擎,能够用来编辑一些列交互媒体元素的各种属性。
本发明提供的媒体编辑和播放系统,其中包含的编辑引擎具有一个可视化的用户操作界面,用户可以通过这个可视化操作界面,来编辑一个VXPLO媒体。
本发明提供的媒体编辑和播放系统,其中包含一个播放引擎,用来播放上述VXPLO媒体。
本发明提供的媒体编辑和播放系统,其中包含的播放引擎,包含一个记录装置解析模块,用来解析上述记录装置。
本发明提供的媒体编辑和播放系统,其中包含的播放引擎提供了一个指示标记,该指示标记能够准确的指向上述媒体编辑和播放系统中的播放引擎,同时,该指示标记能够很方便的在互联网或其他网络中传输和分享。
本发明提供的媒体编辑和播放系统中所包含的编辑引擎和播放引擎,能够直接在浏览器中加载和使用,因此,本发明中VXPLO媒体的编辑和播放都不需要用户安装额外的计算机软件。
本发明还提供了一个播放工具条,即在VXPLO媒体被播放的时候,用户能够通过这个同时显示的播放工具条,来执行一些列的操作。
本发明还提供了一个让第三方开发者在母应用的基础上开发子应用的系统,上述子应用能够显示在母应用的操作界面中,让其他用户来使用。
本发明同时提供了一个让第三方开发者在母应用的基础上开发子应用的方法,上述子应用能够显示在母应用的操作界面中,让其他用户来使用。
本发明同时提供了一套供第三方开发者在本发明母应用基础上开发子应用,以及让用户使用上述第三方开发者开发的子应用的图形化操作界面(GraphicUserInterface)。
本发明还提供了一个让第三方开发者在母应用的基础上开发子应用的系统,上述子应用能够显示在母应用的操作界面中,让其他用户来使用,同时,其他用户还能够购买和选择上述第三方开发者开发的子应用。
本发明还提供了一个让第三方开发者在母应用的基础上开发子应用的方法,上述子应用能够显示在母应用的操作界面中,让其他用户来使用,同时,其他用户还能够购买和选择上述第三方开发者开发的子应用。
本发明同时提供了一套供第三方开发者在本发明母应用基础上开发子应用,以及让用户使用上述第三方开发者开发的子应用的图形化操作界面(GraphicUserInterface)。同时,用户还能够购买和选择上述第三方开发者开发的子应用。
本发明同时提供了一套使用VXPLO媒体的系统,以让用户能够通过移动设备来播放VXPLO媒体。
本发明同时提供了一套使用VXPLO媒体的方法,以让用户能够通过移动设备来播放VXPLO媒体。
本发明同时提供了一套使用VXPLO媒体的用户操作界面,以让用户能够通过移动设备来播放VXPLO媒体。
本发明同时提供了一套使用VXPLO媒体的系统,以让用户能够通过移动设备来播放VXPLO媒体。同时,用户能够自行选择在移动设备上播放哪些VXPLO媒体,并且,移动设备能够根据远程应用服务器的指示,自动获取特定的VXPLO媒体来播放。
本发明同时提供了一套使用VXPLO媒体的方法,以让用户能够通过移动设备来播放VXPLO媒体。同时,用户能够自行选择在移动设备上播放哪些VXPLO媒体,并且,移动设备能够根据远程应用服务器的指示,自动获取特定的VXPLO媒体来播放。
本发明同时提供了一套使用VXPLO媒体的用户操作界面,以让用户能够通过移动设备来播放VXPLO媒体。同时,用户能够自行选择在移动设备上播放哪些VXPLO媒体,并且,移动设备能够根据远程应用服务器的指示,自动获取特定的VXPLO媒体来播放。
本发明同时提供了一套创建和编辑VXPLO媒体的用户操作界面。
本发明同时提供了一套创建和编辑VXPLO媒体的系统。
本发明同时提供了一套创建和编辑VXPLO媒体的方法。
本发明提供的创建和编辑VXPLO媒体的用户操作界面,进一步包含一个工具面板。
本发明提供的创建和编辑VXPLO媒体的用户操作界面,进一步包含一个属性面板。
本发明提供的创建和编辑VXPLO媒体的用户操作界面,进一步包含一个对象面板。
本发明提供的创建和编辑VXPLO媒体的用户操作界面,进一步包含一个时间轴面板。
本发明提供的创建和编辑VXPLO媒体的用户操作界面,进一步包含一个操作历史面板。
本发明提供的创建和编辑VXPLO媒体的用户操作界面,进一步包含一个操作菜单栏。
本发明同时提供了一种创建VXPLO媒体的方法,该方法支持用户通过创建至少一种交互媒体元素来创建一个VXPLO媒体。
本发明同时提供了一种供用户创建VXPLO媒体的系统。
本发明同时提供了一种供用户编辑VXPLO媒体的系统。
本发明同时提供了一套在VXPLO媒体中创建交互媒体元素的图形化操作界面(GraphicUserInterface),用户可以通过这个操作界面,使用鼠标拖拽操作来定义预创建的交互媒体元素的大小和位置,并根据上述大小和位置来创建交互媒体元素。
本发明同时提供了一套在VXPLO媒体中创建交互媒体元素的图形化操作界面(GraphicUserInterface),用户可以通过这个操作界面,使用鼠标拖拽操作来创建交互媒体元素。
本发明同时提供了一套在VXPLO媒体中创建交互媒体元素的图形化操作界面(GraphicUserInterface),用户可以通过这个操作界面,使用鼠标拖拽操作来编辑交互媒体元素。
本发明提供的上述图形操作界面,包含一个工具面板,用户能够通过上述工具面板中的工具或应用来创建VXPLO媒体中的交互媒体元素。
本发明提供的上述图形操作界面,包含一个属性面板,用户能够通过上述属性面板来设定VXPLO媒体中的交互媒体元素的各项属性。
本发明提供的上述图形操作界面,包含一个对象面板,该对象面板进一步包含一个对象树,该对象树由一些按树状结构排列的节点图标(图形元素)组成。
本发明提供的上述对象树中,每一个节点图标都对应VXPLO媒体中的一个交互媒体元素,同时,上述节点图标的排列组合方式反应了其对应的交互媒体元素的部分结构和属性。
本发明提供的上述对象树中,用户能够通过操作上述节点图标来管理或编辑这些节点图标所对应的交互媒体元素。
本发明同时提供了VXPLO媒体中各个交互媒体元素之间的父对象-子对象关系,其中父对象的一些属性会影响到其子对象的属性。
本发明同时提供了一种为交互媒体元素添加动画的方法,使用这种方法,用户能够通过设定交互媒体元素在几个特定时间点的属性,来制作整个时间段上的动画。
本发明同时提供了一种在不同时间点设定交互媒体元素的不同属性的方法。
本发明同时提供了一种在不同时间点设定交互媒体元素的不同属性的图形化操作界面。
本发明同时提供了一种播放VXPLO媒体的系统,其中,VXPLO媒体中的交互媒体元素的属性可以随着时间变化。
本发明同时提供了一种播放VXPLO媒体的方法,其中,VXPLO媒体中的交互媒体元素的属性可以随着时间变化。
本发明同时提供了一个时间轴元素,通过该时间轴元素,用户能够管理和编辑其他的交互媒体元素的属性,让其在一段时间内变化。
本发明同时提供了一个运动轨迹元素,通过该运动轨迹元素,用户能够编辑其他交互媒体元素的属性随时间变化的过程。
本发明同时提供了一种在一个VXPLO媒体中包含多个时间轴元素的方法,其中,一个时间轴元素可以触发另外一个时间轴元素的某些动作。
本发明同时提供了一种在一个VXPLO媒体中包含多个时间轴元素的图形化操作界面,其中,一个时间轴元素可以触发另外一个时间轴元素的某些动作。
本发明同时提供了一种在一个VXPLO媒体中包含多个时间轴元素的系统,其中,一个时间轴元素可以触发另外一个时间轴元素的某些动作。
本发明同时提供了一种让VXPLO媒体与用户操作进行交互的方法,其中用户操作包括鼠标操作,触碰操作,键盘操作,以及通过移动设备传递的物理操作。
本发明同时提供了一种让VXPLO媒体与用户操作进行交互的系统,其中用户操作包括鼠标操作,触碰操作,键盘操作,以及通过移动设备传递的物理操作。
本发明同时提供了一种让VXPLO媒体与用户操作进行交互的图形化操作界面,其中用户操作包括鼠标操作,触碰操作,键盘操作,以及通过移动设备传递的物理操作。
本发明同时提供了一种让不同交互媒体元素相互之间交互的方法,其中,某个交互媒体元素上发生的某个事件,能够触发另一个或几个交互媒体元素执行某些功能。
本发明同时提供了一种让不同交互媒体元素相互之间交互的系统,其中,某个交互媒体元素上发生的某个事件,能够触发另一个或几个交互媒体元素执行某些功能。
本发明同时提供了一种让不同交互媒体元素相互之间交互的图形化操作界面,其中,某个交互媒体元素上发生的某个事件,能够触发另一个或几个交互媒体元素执行某些功能。
本发明同时提供了一种编辑和创建VXPLO媒体的方法,该VXPLO媒体能够与其观众的操作进行交互。
本发明同时提供了一个事件元素,用户可以通过该事件元素来创建和编辑VXPLO媒体中不同交互媒体元素之间的交互关系。
本发明同时提供了一个事件元素,用户可以通过该事件元素来创建和编辑VXPLO媒体中交互媒体元素与用户操作之间的交互关系。
本发明同时提供了触发对象,触发条件,目标对象和目标对象动作,当触发对象的触发条件被满足的时候,目标对象将会完成目标对象动作。
本发明同时提供了一个创建和编辑事件元素的图形化操作界面,通过上述事件元素,用户能够创建和编辑VXPLO媒体中交互媒体元素的交互关系,该交互关系包括不同交互媒体元素之间的交互关系,以及交互媒体元素与用户操作之间的交互关系。
本发明同时提供了实现VXPLO媒体中交互媒体元素之间交互关系的方法,该交互关系包括不同交互媒体元素之间的交互关系,以及交互媒体元素与用户操作之间的交互关系。
本发明同时提供了实现VXPLO媒体中交互媒体元素之间交互关系的系统,该交互关系包括不同交互媒体元素之间的交互关系,以及交互媒体元素与用户操作之间的交互关系。
本发明同时提供了创建和编辑VXPLO媒体的方法,该VXPLO媒体能够在不同的窗口或显示屏中进行播放。
本发明同时提供了创建和编辑VXPLO媒体的系统,该VXPLO媒体能够在不同的窗口或显示屏中进行播放。
本发明同时提供了创建和编辑VXPLO媒体的图形化操作界面,该VXPLO媒体能够在不同的窗口或显示屏中进行播放。
本发明同时提供了创建和编辑VXPLO媒体的方法,该VXPLO媒体能够在不同的窗口或显示屏中进行播放,同时,在不同窗口或显示屏中播放的VXPLO媒体能够相互之间进行互动。
本发明同时提供了创建和编辑VXPLO媒体的方法,该VXPLO媒体能够在不同的窗口或显示屏中进行播放,同时,在不同窗口或显示屏中播放的VXPLO媒体能够相互之间进行互动。
本发明同时提供了创建和编辑VXPLO媒体的系统,该VXPLO媒体能够在不同的窗口或显示屏中进行播放,同时,在不同窗口或显示屏中播放的VXPLO媒体能够相互之间进行互动。
本发明同时提供了创建和编辑VXPLO媒体的图形化操作界面,该VXPLO媒体能够在不同的窗口或显示屏中进行播放,同时,在不同窗口或显示屏中播放的VXPLO媒体能够相互之间进行互动。
本发明同时提供了一种播放VXPLO媒体的方法,该VXPLO媒体能够在不同的窗口或显示屏中进行播放。
本发明同时提供了一种播放VXPLO媒体的系统,该VXPLO媒体能够在不同的窗口或显示屏中进行播放。
本发明同时提供了一种播放VXPLO媒体的图形化操作界面,该VXPLO媒体能够在不同的窗口或显示屏中进行播放。
本发明同时提供了一种播放VXPLO媒体的方法,该VXPLO媒体能够在不同的窗口或显示屏中进行播放,同时,在不同窗口或显示屏中播放的VXPLO媒体能够相互之间进行互动。
本发明同时提供了一种播放VXPLO媒体的方法,该VXPLO媒体能够在不同的窗口或显示屏中进行播放,同时,在不同窗口或显示屏中播放的VXPLO媒体能够相互之间进行互动。
本发明同时提供了一种播放VXPLO媒体的系统,该VXPLO媒体能够在不同的窗口或显示屏中进行播放,同时,在不同窗口或显示屏中播放的VXPLO媒体能够相互之间进行互动。
本发明同时提供了一种播放VXPLO媒体的图形化操作界面,该VXPLO媒体能够在不同的窗口或显示屏中进行播放,同时,在不同窗口或显示屏中播放的VXPLO媒体能够相互之间进行互动。
本发明同时提供了一种网页实例,该网页实例包含了多个网页对象,以及一个记录装置,该记录装置记录了上述网页对象之间的交互关系。
本发明同时提供了一种编辑和播放上述网页实例的系统。
本发明同时提供了一种编辑和播放系统,该系统中包含了一个编辑上述网页实例的编辑引擎,该编辑引擎能够用来创建多个网页对象,同时编辑这些网页对象之间的交互关系,并且生成一个资源描述文件来记录每一个网页对象的属性以及网页对象之间的交互关系。
本发明同时提供了一种编辑和播放系统,该系统中包含了一个编辑上述网页实例的编辑引擎,该编辑引擎能够用来设定和编辑每一个网页对象一系列的属性。
本发明同时提供了一种编辑和播放系统,该系统中包含了一个编辑上述网页实例的编辑引擎,该编辑引擎提供了一个编辑上述网页实例的图形化操作界面。
本发明同时提供了一种编辑和播放系统,该系统中包含了播放上述网页实例的播放引擎。
本发明同时提供了一种编辑和播放系统,该系统中包含了播放上述网页实例的播放引擎,该播放引擎提供了一个资源描述文件(ResourceDescriptionFile,RDF)解析模块,用来解析上述资源描述文件。
本发明同时提供了一种编辑和播放系统,该系统中包含一个编辑引擎,该编辑引擎能够提供一个分享代码,来标记上述编辑和播放系统中包含的播放引擎的位置,该分享代码易于在互联网或其他计算机网络中进行传播。
本发明同时提供了一种编辑和播放系统,该播放系统中包含的编辑引擎和播放引擎能够在浏览器中加载使用,这样,无论是编辑还是播放一个网页实例的过程,都不需要用户下载额外的计算机软件。
本发明更多的有益效果将在以下具体实施例中体现,也可以通过权力要求中的方法组合实现。
本发明的发明目的和有益效果是通过一个编辑和播放VXPLO媒体的系统来实现的,这个系统包含一个编辑引擎和一个播放引擎,该编辑引擎能够通过创建至少一个交互媒体元素以及每个交互媒体元素的一系列属性来创建上述VXPLO媒体,该播放引擎能够通过显示和实现上述交互媒体元素的属性和交互关系,来播放上述VXPLO媒体。
本发明还包含一种创建VXPLO媒体的方法,由以下步骤组成:
(a)创建至少一个交互媒体元素,所述交互媒体元素的种类包含一系列内容元素与一系列功能元素,其中,每一个内容元素都对应一个具有媒体内容的素材文件;
(b)编辑每个交互媒体元素的一些列属性;
(c)将所述每个交互媒体元素的属性记录到一个记录装置中去。
本发明更进一步的目的和有益效果将在本发明附图中进行体现。
本发明其他的目的、特征和有益效果将在以下详细实施例、附图以及权利要求中进行体现。
附图说明
图1是本发明媒体编辑和播放系统的一个实施方式的简单结构图。
图2是本发明媒体编辑和播放系统的一个实施方式的详细结构图。
图3是由本发明的媒体编辑和播放系统产生的一个离线媒体文件的结构图。
图4是本发明媒体编辑和播放系统另一实现方式的框架图,描述了网页实例的编辑和播放过程。
图5描述了本发明中嵌入网页中的分享链接。
图6是本发明编辑引擎的一个工作流程图。
图7是本发明媒体编辑和播放系统中编辑引擎的一个结构图。
图8是本发明播放引擎的一个工作流程图。
图9是本发明媒体编辑和播放系统中播放引擎的一个结构图。
图10描述了本发明中网页实例的播放工具条。
图11描述了本发明中网页实例播放工具条的一个功能窗口。
图12描述了本发明中网页实例的播放工具条的另一种呈现方式。
图13描述了本发明中网页实例的播放工具条的额外一种呈现方式。
图14描述了本发明中网页实例的播放工具条的额外一种呈现方式。
图15描述了本发明中网页实例的播放工具条的额外一种呈现方式。
图16描述了本发明媒体编辑和播放系统中编辑工具界面的一个实施方式。
图17描述了本发明编辑工具界面中工具面板的一个实施方式。
图18描述了本发明编辑工具界面中属性面板的一个实施方式。
图19描述了本发明编辑工具界面中操作历史面板的一个实施方式。
图20描述了本发明编辑工具界面中图片对象的属性面板的一个实施方式。
图21描述了本发明编辑工具界面中flash对象的属性面板的一个实施方式。
图22描述了本发明编辑工具界面中视频对象的属性面板的一个实施方式。
图23描述了本发明编辑工具界面中音频对象的属性面板的一个实施方式。
图24描述了本发明编辑工具界面中html网页对象的属性面板的一个实施方式。
图25描述了本发明编辑工具界面中时间轴对象的属性面板的一个实施方式。
图26描述了本发明编辑工具界面中运动轨迹对象的属性面板的一个实施方式。
图27描述了本发明编辑工具界面中文本对象的属性面板的一个实施方式。
图28描述了本发明编辑工具界面中事件对象的属性面板的一个实施方式。
图29描述了本发明中网页对象的分类。
图30-图34描述了本发明中创建一个网页对象过程的一个实施方式,呈现了在工具面板中选择一个组件并创建一个网页对象的过程。
图35-图37描述了本发明中创建一个网页对象过程的一个实施方式,呈现了从本地设备中上传一个素材文件的过程。
图38是本发明中对象树的数据结构的一个实施方式。
图39描述了本发明中网页对象的显示层序设定的一个实施方式。
图40是本发明中网页对象的显示层序设定的一个实施方式的示意图。
图41是本发明中网页对象的显示层序设定的另一个实施方式的示意图。
图42描述了本发明中对象面板的一个实施方式,其中,对象面板中显示了一个对象树。
图43描述了本发明中对象树操作方法的一个实施方式。
图44描述了本发明中对象树操作方法的另一个实施方式。
图45描述了本发明中对象树结构的一个实施方式,其中在每个节点图标旁边显示一个对象类别图标,来更好的标注每一个节点图标所对应的网页对象的类别。
图46描述了在本发明中对象面板中显示下拉菜单的一个实施方式。
图47描述了在本发明中对象面板中显示下拉菜单的另一个实施方式。
图48是本发明创建一个网页对象的优选实施方式的流程图。
图49是本发明创建一个可见网页对象的优选实施方式的流程图。
图50是本发明创建一个对象树中的节点的优选实施方式的流程图。
图51描述了在本发明的对象树中管理时间轴对象的一个实施方式。
图52描述了在本发明的对象树中管理时间轴对象的另一个实施方式。
图53描述了在本发明的对象树中管理时间轴对象的另一个实施方式。
图54是本发明中编辑一个时间轴对象的优选实施方式的流程图。
图55是本发明中触发一个时间轴对象播放的优选实施方式流程图。
图56是本发明中设定时间轴管理对象的属性的优选实施方式流程图。
图57描述了本发明中编辑一个运动轨迹对象的优选实施方式。
图58描述了本发明中时间轴对象控制另一个对象属性的一个实施方式。
图59描述了本发明中时间轴对象控制另一个对象的大小和位置随时间变化的一个实施方式。
图60描述了本发明中时间轴对象控制另一个对象的可见性随时间变化的一个实施方式。
图61描述了本发明中时间轴对象控制另一个对象在4个时间点上属性的一个实施方式。
图62描述了本发明中一个对象的属性随时间变化的一个实施方式。
图63是本发明中一个时间轴来触发另一个时间轴播放的优选实施方式的流程图。
图64描述了本发明中一个时间轴对象通过4个运动轨迹来管理4个其他对象的一个实施方式。
图65是本发明中创建一个事件对象的优选实施方式的流程图。
图66描述了本发明中通过对象树来管理事件对象的一个实施方式。
图67描述了本发明中事件对象属性面板的一个实施方式。
图68-图70描述了本发明中在属性面板中使用事件对象的“设置属性”功能的一个实施方式。
图71是本发明中网页实例播放时,一个事件对象的工作过程的实施方式流程图。
图72描述了本发明中网页实例播放时,一个事件对象的工作过程的实施方式,说明了在此过程中通信模块和描述文件解析模块的工作过程。
图73描述了本发明中播放系统的一个实施方式。
图74描述了本发明中播放系统的一个实施方式,说明了两个屏幕之间网页对象通过一个通信服务器交互的过程。
图75描述了本发明中编辑系统图形化界面的一个实施方式,说明了在一个屏幕对象下设定事件对象属性的过程。
图76描述了本发明中编辑系统图形化界面的一个实施方式,说明了设定一个是视频对象属性的过程。
图77描述了本发明中服务平台结构的一个实施方式。
图78描述了本发明中服务平台的一个实施方式,说明了向工具面板添加组件的过程。
图79描述了本发明在智能移动设备中显示的图形化操作界面的一个实施方式。
图80描述了本发明在智能移动设备中显示的图形化操作界面的一个实施方式,说明了向一个母应用中添加子应用的过程。
图81是本发明媒体编辑和播放系统的另一个实施方式的简单结构图。
图82是本发明媒体编辑和播放系统的另一个实施方式的详细结构图。
图83是本发明媒体编辑和播放系统的另一个实施方式,说明了VXPLO媒体的编辑和播放过程。
图84是本发明媒体编辑和播放系统中编辑引擎结构的另一个实施方式。
图85是本发明媒体编辑和播放系统中播放引擎结构的另一个实施方式。
图86是本发明播放引擎工作过程的另一实施方式的流程图。
图87描述了本发明交互媒体元素分类的另一实施方式。
图88是本发明VXPLO媒体中的一个事件元素工作过程的另一实施方式流程图。
图89是本发明VXPLO媒体中的一个事件元素工作过程的另一实施方式流程图,说明了通信模块和记录装置解析模块在此过程中的作用。
具体实施方式
以下的描述将让熟悉此领域技术的人员了解并使用本发明。优选实施例仅用来作为说明本发明内容的例子。在以下实施例中描述的原理与核心思想可以在其他的实施例和应用场景中使用。
本发明的实施例涉及一种新的媒体格式,命名为网页实例30,以及网页实例30的编辑、播放系统以及基于网页实例30的上层应用。一个网页实例30包含了一系列的网页对象、这些网页对象的各项属性以及这些网页对象之间的交互关系。一个网页对象是一个可以被一个网页实例30的播放应用创建或获取,读取和/或操作的对象。一个网页实例播放应用能够播放网页实例30,其可为一个特定的计算机软件,该计算机软件可以安装在一个本地的电脑,或从一个远程计算机网络(比如互联网)中进行加载和使用。在此,上述网页实例播放应用将被命名为播放引擎20。当一个网页实例30被播放的时候,其中包含的所有网页对象将按照这些网页对象的各项属性和交互关系被呈现和播放出来。
本发明中网页实例30包含的网页对象主要有两种,可见对象和不可见对象。
可见对象具有自身的媒体内容。一个可见对象通常可以直接被播放引擎20播放出来,并且通常具有一个相应的素材文件。这个素材文件通常携带了该可见对象所包含的媒体内容。尽管大多数可见对象具有一个素材文件31,并且可以直接被显示出来,但也有例外,比如,一个实时的视频流并不能在该视频流启动之前被显示出来,并且由于实时视频流是在播放过程中实时逐步获得的,其不能被存储在一个素材文件中。在本发明中,可见对象对应的媒体素材文件可以是多种格式的,比如图片文件(jpeg,jpg,png等),视频文件(flv,mpeg,avi,mov,wma等),动画文件(swf,gif等),文本文件,html网页文件以及其他现有的可以被播放引擎20所读取的文件种类。可见对象为网页实例30提供了基本的媒体资源,每一个可见对象都是网页实例30的一个媒体元素。由于素材文件31可以是上述各种格式的文件,本发明的网页实例30的编辑和播放系统能够使用现有的各种媒体文件作为网页实例30的一个组成部分。
不可见对象是不能直接被播放引擎20所播放或显示的对象,但它们能够控制可见对象与其他不可见对象的播放过程。不可见对象的种类包括时间轴对象,运动轨迹对象,事件对象,页面对象,层对象,屏幕对象等等。在一些特定的实施例中,不可见对象可以被看作是一系列的控制可见对象播放过程的程序指令,这些程序指令被分装到了对象的结构中。在以下的相应实施例中,将描述不可见对象的详细使用方法。
本发明中,无论是可见对象还是不可见对象,都具有他们相应的属性。比如,每个可见对象都具有一个或多个显示属性,包括大小、位置、颜色、透明度、可见性、旋转角度以及其他定义了该可见对象的显示方式和展现形式的属性。显示属性也包括了其他不那么明显的属性,比如某个媒体元素是否能够给用户点击,某个媒体元素是否需要优先于同个网页实例30中其他的媒体素材加载,或者某个视频媒体元素需要被播放还是暂停。与可见对象类似,每个不可见对象也有其相应的属性。比如,一个时间轴对象可以用来设定某个可见对象在一个时间段里属性,因此,一个时间轴对象本身也拥有其属性,比如其管理的时间段的长度,其控制的可见对象的个数等等。一个网页对象在其播放时间段内所有属性的集合,定义该网页对象的播放过程,而一个网页实例30中包含的所有网页对象的所有属性集合,定义了该网页实例30的播放过程。
网页对象之间的交互关系是预先设定的网页对象之间的控制关系,或者网页对象与用户操作之间的控制关系。换一句话来说,当一个网页实例30被播放的时候,其中网页对象播放的具体过程可以被用户的操作所控制,或者被同一网页实例中其他的网页对象所控制。前一种情况(即网页对象被用户操作所控制)是指用户(即网页实例30的观众)的某种操作会影响网页对象的播放过程。上述用户操作可以是鼠标点击,键盘操作,触摸屏幕上的触摸操作,远程设备的指令操作,或某个移动设备的传感器传递的物理操作。比如,当一个网页实例30被播放的时候,一个用户点击了一个呈现了“开始”字样的图片对象,然后这个网页实例中的另一个视频对象就会立刻开始播放。后一种情况(即网页对象被同一网页实例中其他网页对象控制)具有很多可能性。在一种实施方式中,一个或多个网页对象的显示属性的变化,将引起另一个或多个网页对象的显示属性的变化,比如,当一个网页实例30中的一个图片对象消失的时候,该网页实例30中的一个文本对象会显示出来。在另一个实施方式中,一个不可见对象能够控制同一个网页实例中的可见对象,或另外的不可见对象,比如,一个时间轴对象能够设定一个或多个可见对象在一段时间内的属性,这样,这些可见对象的属性能够在一段时间内随着时间而变化。更多网页实例30中网页对象交互关系的实现方法将在以下的相应实施例中详细阐述。
当一个网页实例30被播放的时候,播放引擎20会加载上述可见对象与不可见对象,同时也会加载这些网页对象的属性与交互关系。这样,一个网页实例30成为了一个新的媒体格式,其特征在于:
一个网页实例30包含了各种现有格式的媒体元素,比如图片,视频,动画,html网页,文本等等。所有这些网页实例30中的媒体元素将会按照预先设定的播放过程进行加载和播放,由于这些媒体元素的共同呈现,导致了网页实例30成为了比现有任何一种媒体格式都要丰富的没有格式。
一个网页实例30是在一个时间段内被播放的,这个时间段的长度通常是一个有限的长度,类似于一个视频的播放时长(比如,一个电视剧的视频的播放时长是30分钟)。播放时长指一个预先设定的播放时间段的长度。但是,一个网页实例30的播放时长也可能是一个无限的,比如,在一个网页实例中的某个媒体元素动画会不停的循环播放,或者,一个网页实例中不包含任何时间轴对象,所有的网页实例30中的内容会像一个静态的网页或图片一样呈现。在网页实例30的播放时间段内,无论是可见对象或是不可见对象的属性,都能够随着时间而变化,比如,一个图片对象在网页实例30开始播放的时候,是在屏幕中间显示,但随着网页实例的播放过程,会移动到屏幕的角落中去。由于网页对象的属性能够随着时间而动态变化,网页实例30的展现形式也变得非常灵活。
由于网页实例30中的网页对象具有交互属性,因此网页实例30的播放过程可以被网页实例的用户或观众来控制,比如,一个用户可以选择观看一个网页实例30中的特定一个媒体元素,可以改变某些网页元素的显示方式,可以利用网页实例30来像播放一个视频一样来玩一个简单的小游戏,或者对网页实例30中呈现的某些信息做出回应。网页实例30中网页对象的交互属性使网页实例30能够和其用户或观众进行互动,而不是简单的像现有的图片、视频、文字媒体一样单纯的呈现内容。
值得一提的是,尽管命名为“网页实例30”,一个网页实例30不一定需要在网页浏览器或者通过互联网来播放,一个网页实例30也可以通过某个本地计算机或计算设备上安装的软件来播放。优选的,这个软件是上述播放引擎20。同时,一个网页实例30可以作为一个单独的媒体文件存在,类似一个图片文件或一个视频文件,其中,所有播放一个网页实例30所需要的信息都被分装在该媒体文件中;在另一个实施例中,播放一个网页实例30所需要的信息会分组传递到播放引擎20中,这样,便不存在一个单独的包含所有网页实例30播放信息的媒体文件。
本发明另一个重要的方面是网页实例30的编辑应用,用户能够通过这个应用来创建和编辑一个网页实例30。优选的,上述网页实例30的编辑应用是一个编辑引擎10。上述编辑引擎10能够在一个本地的计算机/计算设备上运行,或在一个远程的服务器上运行。在本发明一些特定的实施例中,编辑引擎10会首先存储在一个远程的服务器上,然后被下载到一个本地计算机/计算设备的内存中。在另一个实施例中,编辑引擎10是在另一个软件应用的基础上运行的,比如,作为一个网页浏览器的插件。
用户能够通过编辑引擎10来编辑网页实例30中包含的网页对象,以及这些网页对象的属性与交互关系来编辑一个网页实例30。在特定的实施例中,编辑引擎10具有一个图形化的用户操作界面(GUI,GraphicUserInterface)。
这样,一个网页实例30会首先在编辑引擎10中被编辑,然后通过播放引擎20播放出来。网页实例30被编辑引擎10编辑的过程,即为网页实例30的编辑模式,而网页实例30被播放引擎20播放的过程,即为网页实例30的播放模式。
在一个优选实施方式中,一个网页实例30可以被理解为一个以面向对象的语言所编写的软件应用,网页实例30中的可见对象与不可见对象即上述软件应用中的“对象”。在网页实例30的编辑模式中,用户可以通过创建网页实例30的组成对象,(比如上述可见对象和不可见对象),并且设定这些组成对象属性以及它们的交互关系,来创建一个网页实例30软件应用。在一个优选的实施方式中,用户能够通过编辑引擎10的一个图形化用户操作界面(GUI)来创建上述网页实例30软件应用。在网页实例30的播放模式中,上述网页实例“软件应用”能够在播放引擎20上运行,并呈现其预先设定的播放过程。这样,网页实例30的编辑和播放过程可以被理解为一个软件应用的编写和运行过程。在网页实例30中使用网页对象的结构能够为网页实例所有面向对象编程的好处,比如,在网页实例30中改变一个网页对象的属性不会影响整个网页实例30的运行过程,同时,网页对象的属性、特征和动作可以在网页对象之间被继承。
如图1所示,本发明的网页对象编辑和播放系统主要由编辑引擎10和播放引擎20组成。
编辑引擎10是一个在本地计算机或远程服务器运行的软件应用,用户可以通过编辑引擎10来编辑网页对象,从而来编辑一个网页实例30。编辑网页对象的过程包括创建、获取、删除网页对象,以及设定网页对象的属性,控制网页对象的运动,以及设定网页对象的触发事件/事件相应动作等。在一个实施例中,编辑引擎10是一个独立运行的安装在本地计算机上的软件应用。在另一个实施例中,编辑引擎10是在另一个软件应用的基础上运行的,比如在一个网页浏览器34的基础运行(即编辑引擎10是一个网页浏览器34的插件应用,或一组直接在网页浏览器34基础上运行的程序指令)。
播放引擎20是一个能够播放编辑引擎10编辑的网页对象的软件应用。和编辑引擎10类似,播放引擎20可以在本地计算机或远程服务器运行,可以是一个独立运行的软件应用,或在其他软件的基础上运行。无论编辑引擎10和播放引擎20以怎样的方式运行,两者的核心功能保持不变,在接下来的实施例中将对两个引擎的核心功能进行详细的阐述。
当一个网页实例30被编辑引擎10编辑完成之后,它将被放在播放引擎20中进行播放。网页实例30被传输到播放引擎20的方式由很多种。在一个实施方式中,一个网页实例30被打包成一个独立的媒体文件,可以像Word,PowerPoint,MPEG或者PDF文档这样被传递,所有播放一个网页实例30所需要的信息会被分装打包在上述媒体文件中。在这种情况下,网页实例30的传递过程和传递一个类似视频文件的传统媒体文件过程是一样的,即一个视频文件可以被存储为.mpeg,.wma等格式,然后被一个类似WindowsMediaPlayer或QuictimePlayer这样的视频播放软件所播放。
在另一个实施方式中,网页实例30的传输过程并不涉及一个独立的媒体文件,相反,播放网页实例30所需要的信息会分组传递到播放引擎20中去。如图2所示,一个网页实例30被分成两部分传输:一个资源描述文件32,以及资源文件31。资源文件31是网页实例30中可见对象所对应的原始媒体文件,这些媒体文件可以是各种格式的,包括图片文件,视频文件,动画文件,html网页文件和文本文件等等。为了能让一个网页实例30正常的播放,这些资源文件31需要被传递到播放引擎20中来提供各种媒体元素所需要的媒体资源。资源描述文件32包含了获取上述资源文件31的方法的信息,以及编辑引擎10设定的所有网页对象的属性和交互关系。如上文所述,网页对象的属性包含可见对象的显示属性,比如大小、颜色、透明度、可见性和位置等等;同时也包含不可见对象的功能属性,比如一个时间轴对象所控制的其他对象的数量。当播放引擎获得了资源描述文件32之后,它便能够获取并加载资源描述文件32中记录的所有网页对象所对应的资源文件31,并根据资源描述文件32中设定的属性和交互关系来播放相应的网页对象。在一个实施例中,资源描述文件32是一个小型的文件,其中记录了一个网页实例30所包含的所有网页对象的属性参数,以及这些网页对象所对应的资源文件31的获取方法(一个URL链接地址),该资源描述文件31的文件格式可以是XML,文本,json等等。
播放引擎20获取资源文件31的方法有很多中。在一个实施例中,资源文件31由编辑引擎10上传并保持到一个特定的地址,这个特定的地址会由编辑引擎10记录在资源描述文件32中。在另一个实施例中,资源文件31并不会被编辑引擎10上传,相反,它们会被从某个特定的地址下载,而这个特定的地址也会被编辑引擎记录在资源描述文件32中。比如,一个在第三方平台上的视频文件,可以通过一个URL链接地址来被播放引擎20访问到。
播放引擎20获取资源描述文件32的方法也有很多种。在一个实施例中,获取资源描述文件32的方法(这个方法通常是一个播放引擎20安装的计算设备上的本地地址或URL链接,或一个远程计算机网络上的地址或URL链接)会由用户手动输入,然后播放引擎20能够在本地或远程计算机网络上获取资源描述文件32。在另一个实施例中,一个从某个本地或远程地址下载资源描述文件32的指令会在播放引擎20进行某个特定操作的时候被发送至播放引擎20,比如,当用户点击了播放引擎20所呈现的某个图标的时候。在另一个实施例中,资源描述文件32和资源文件31被封装成一个能够被播放引擎20播放的独立的媒体文件,而获取资源描述文件32的指令被包含在上述独立的媒体文件中。
在一个优选实施例中,编辑引擎10是在一个网页浏览器34的基础上运行的。上述网页浏览器34可以是各种类型的网页浏览器,比如谷歌Chrome浏览器,Firefox浏览器,Safari浏览器或微软IE浏览器,而编辑引擎10是一个网页浏览器34的插件,或者是一组可以在网页浏览器34中直接执行的程序命令。比如,编辑引擎10是一个用JavaScript或html5语言编写的可以直接被网页浏览器34所执行的程序,网页浏览器34能够调用编辑引擎10来执行一些网页浏览器34本身所不具有的功能。在一个优选实施例中,编辑引擎10会在网页浏览器34访问某个互联网或其他计算机网络的URL地址时,自动被下载和安装在网页浏览器34中。这个实施例的一个重要益处在于,用户能够通过任何现有的网页浏览器34来执行编辑因为10的功能,而不需要下载额外的软件。这种类型的软件应用运行方式随着云计算技术的发展正变得越来越普及,这些在浏览器中运行的软件通常被叫做网页应用,而这种通过浏览器提供软件服务的模式通常被叫做SaaS(softwareasaservice,软件即服务)。这种SaaS的软件服务提供方式相比传统的软件下载模式具有很多优势,比如,在SaaS模式中,用户不用下载、安装或更新任何软件,用户总是能够通过一个网页链接来访问到一个网页应用的最新版本;同时,在SaaS模式下,只要由互联网连接,用户可以通过随时随地的通过各种不同的计算机设备来访问一个软件应用;最后,软件服务的提供商可以实时的获得用户使用软件的情况,并根据用户的使用情况来向用户收费,因为用户对网页应用的访问是可以被网页应用的提供者统一控制和管理的。
类似的,在一个优选实例中,播放引擎20也是在一个网页浏览器34的基础上运行的。该网页浏览器34会在互联网或其他计算机网络上访问一个特定的地址或URL链接时,自动下载并安装播放引擎20。这样,一个通过编辑引擎10编辑完成的网页实例30可以通过现有的网页浏览器来直接播放,只要网页浏览器能够获得下载播放引擎20的地址。
在上述播放引擎20在一个网页浏览器34基础上运行的情况下,网页实例30和播放引擎20也有可能被封装在一个文件中,然后被整体传递到网页浏览器34中去,如图3所示。这样,网页实例30和播放引擎20便形成了一个合成的媒体文件33,这个媒体文件33能够直接被网页浏览器34所播放。播放时,上述合成的媒体文件33具有上述网页文件30所有的特征。值得一提的时,上述合成的媒体文件33可以被独立保存,并被一个网页浏览器34在本地播放,该网页浏览器无需链接互联网或其他计算机网络。这样,这个合成的媒体文件33便提供了网页实例30的离线播放模式。
在另一个实施例中,如图4所示,网页实例30的编辑和播放系统除了编辑引擎10和播放引擎20,进一步包括一个编辑服务器,一个客户端设备1,一个第三方网页服务器,一个客户端设备2。上述编辑服务器和第三方网页服务器是普通的计算机服务器,即一个通过计算机网络提供服务和响应服务需求的系统。上述客户端设备1和客户端设备2是能够运行编辑引擎10/播放引擎20的计算设备,可以是一个PC个人电脑,一个只能手机,PDA或平板电脑。同时,客户端设备1和客户端设备2也必须拥有链接到互联网或其他计算机网络的网络模块,并且需要安装有一个网页浏览器34。需要注意的是,客户端设备1和客户端设备2只是功能上的区分,即两者在整个系统中扮演不同的角色,但在实际应用中,这两个设备在物理上可以是一个设备。上述系统的工作流程如下:
编辑引擎10最开始的时候存储在编辑服务器中,当客户端设备1中的一个网页浏览器34访问一个特定网址的时候,该网页浏览器34会自动从编辑服务器上下载并在自身基础上安装编辑引擎10。客户端设备1的用户随后使用网页浏览器34中安装的编辑引擎10来编辑一个网页实例30。编辑完成之后,编辑引擎10会生成一个资源描述文件32,并且将该资源描述文件32上传回编辑服务器,或者其他任意一个能够接收、保存并响应之后下载资源描述文件32请求的服务器。编辑服务器也可能进一步包含一个服务平台60,该服务平台60是一个网站,通过这个网站,用户可以获得下载编辑引擎10的链接(比如,在服务平台60中,呈现一个写这“开始编辑”的按钮,这个按钮链接到编辑引擎10存储的地址,当用户点击这个按钮的时候,编辑引擎10便会自动下载和安装)。服务平台60通常会显示有关编辑引擎10的网页信息,它同时也可以提供编辑引擎10之外额外的相关服务,比如,用户信息管理,用户支付操作等等。但是,服务平台60并不是本发明中网页对象编辑和播放的必要组成部分。另外,在另一个实施方式中,资源描述文件32并不会被上传到任何一个远程服务器中,而是存储在编辑引擎10所安装的浏览器所在的本地计算机/计算设备上,上述本地计算机/计算设备能够像一个服务器一样响应同一个计算机网络(如互联网)上另一个计算设备的文件下载请求。
当资源描述文件32被生成和上传之后,编辑引擎10或者服务平台60会进一步生成一行分享代码35,分享代码35中会记录让一个网页浏览器34获取资源描述文件32以及播放引擎20的地址。分享代码35随后被嵌入到一个在一个第三方网页服务器上的网页文件中去(网页文件未在图4中显示),该嵌入的过程可以由用户手动完成,或由编辑引擎10或服务平台60自动完成。图5显示了一个分享代码35的应用实例,以及一个嵌入有分享代码35的网页文件。在这个实例中,分享代码35是一行插入在网页文件的“body”部分的JavaScript代码。嵌入有分享代码35的网页文件,可以有其他现有的网页内容,也可以是一个空的网页文件。如果嵌入有分享代码35的网页文件有其他的现有网页内容,那么当浏览器访问这个网页文件的时候,其中分享代码35所指向的网页实例30会和网页文件中现有的其他网页内容一起显示出来,否则,只有网页实例30本身会被显示出来。
下一步,客户端设备2上的一个网页浏览器34会访问在第三方服务器上的嵌入有分享代码35的网页文件。该网页文件随后会被网页浏览器34所解析,其中包含的分享代码35会自动运行,然后资源描述文件32和播放引擎20会按分享代码35的指示,被自动下载到网页浏览器34中。客户端设备2上的网页浏览器34随后会安装播放引擎20,读取已经下载的资源描述文件32,然后按照出资源描述文件32上的指示,下载所有的资源文件31,并播放网页实例30。
这个编辑和播放网页实例30的系统的事实方式,具有很多有益效果,包括:
1.用户可以通过任何具有互联网连接并安装有网页浏览器34的设备来编辑和播放一个网页实例30,而无需下载和安装任何软件;
2.一个编辑完成的网页实例30可以通过一行分享代码35来在任何第三方网站中进行分享,而传统的媒体文件分享方式,需要将整个媒体文件传输或上传至一个服务器,才能让用户获取这个媒体文件。这个简单的分享方式,让网页实例30能够更快的在更多平台上进行传播,比如,一个网页实例30可以通过一行简单的分享代码来分享到个人博客、社交网络平台、电子商务网站等平台上去,而如果使用传统的媒体形式,用户需要首先把整个媒体文件上传到网站上,并且改变网站的整体排版来嵌入该媒体文件,网站改版通常需要网页代码的重新编写,这对普通用户来具有很高的门槛。
3.一个网页实例30能够被嵌入到一个现有的网页中,并且和现有网页中的元素进行互动。比如,一个在一个网页实例30中的视频,其中播放的一个人,可以“跳出”视频,进入该网页实例30所嵌入的网页中,指向该网页中的一行现有的文字,来强调这行文字。之所以这样的交互效果能够实现,是因为网页实例30和网页实例30所嵌入的网页中其他的元素是分别加载和播放的,这样,在网页实例30中的任意媒体元素,可以出现在其嵌入的网页中的任何地方,而不需要修改其嵌入的网页本身的内容和排版。这个特征让一个网页实例30和传统的在网页中播放的媒体文件具备了一个本质的区别,即传统的媒体文件必须被植入到现有的网页文件的框架中去,其显示和播放也必须在局限在该框架中(即网页文件中一个预先设定的区域),无论是图片,视频,或者动画都是如此,嵌入之后,这些媒体文件和其嵌入的网页中的任何元素都是独立的,不能产生任何交互。同时,如果需要改变这些媒体文件的排版,比如,将之前嵌入的一个视频删除,并在一个特定的位置加一些文本,那么比如要将整个网页文件重新排版和编辑,其中涉及到很多代码的重新编写;相反,要修改一个网页实例30中的内容很简单,无需对其嵌入的原网页文件进行任何修改,只需要更新资源描述文件32即可。
4.要播放一个网页实例30,一个在客户端设备2上的网页浏览器34只需要下载播放引擎20和资源描述文件32,上述两个文件都是比较小的文件,而相比之下,传统的媒体文件的大小都非常大,并且这些文件需要被完全下载之后才能播放。同时,在特定的实施例中,播放引擎20会被存储在网页浏览器34的缓存中,这样,网页浏览器34便不需要再次下载播放引擎20,而只需要下载一个很小的资源描述文件32,便可以正常播放一个网页实例30了。尽管在资源描述文件32中指定的资源文件31通常是比较大的媒体文件,但这些资源文件31可以在网页实例30播放的过程中被分步加载,这样最小化了用户在观看或播放一个网页实例30之前需要等待的时间。
图6描述了本发明编辑引擎10工作流程的一个实施方式。当一个编辑引擎10被加载的时候,它首先会创建一个图形化操作界面(GraphicUserInterface,GUI)供用户来进行编辑操作(步骤1000),在此,该图形化操作界面将被命名为编辑界面40。编辑界面40的详细介绍将在之后的阐述中说明。总体来说,编辑界面40提供了用户编辑、获取、删除一个网页实例30中所包含的网页对象的各种工具,用户还可以通过这些工具来设定网页对象的各项属性,控制网页对象的运动,设定网页对象的触发事件与相应动作/功能。编辑界面40通常包括一些列的子区域或功能区域,这些区域分别对应于编辑界面40所提供的各种不同的功能。通过编辑界面40,用户不需要写一行代码,边能够创建和编辑一个网页实例30,当然,编辑引擎10中也可以包含接受代码命令输入的接口模块。
创建完成编辑界面40之后,编辑引擎10会通过编辑界面40来检测用户创建一个特定类型的网页对象的指令,该网页对象可为可见对象或不可见对象,同时,用户预创建的网页对象的具体类型信息也会由用户通过编辑界面传递至编辑引擎10。当编辑引擎10检测到用户创建一个特定种类的网页对象的指令时,会根据该指令来创建一个相应的网页对象(步骤1001)。尽管不是必须的,但在一个优选实施例中,创建完成的网页对象会在编辑界面40中显示出来(只要被创建的网页对象是可见对象,并且编辑引擎10能够获得该可见对象的资源文件31)。在另一个实施例中,创建完成的网页对象并不会在编辑界面40中被显示出来,特别是当创建的网页对象是不具备任何素材文件31的不可见对象的时候。当然,为了让用户编辑的过程更加直观,最好能让所有的可见对象在创建完成之后就显示在编辑界面40中。
当一个网页对象创建完成之后,一个和该创建完成的网页对象的类型相对应的属性面板43会显示出来,这样,用户可以在属性面板中设定网页对象的各项属性(步骤1002)。属性面板43是在编辑界面40中的一个图形化操作区域(或一个功能区域),用户可以通过属性面板43来编辑各个网页对象的属性。属性面板43可以呈现成一个“面板”的形状,或采用其他任何具备相同功能的形式。在一个优选的实施例中,编辑引擎10中包含一个对象类集合,这个对象类集合中,包含了所有编辑引擎10支持的并且可以创建的网页对象的类别信息。一个网页对象的“对象类”是一个定义了该网页对象类型的结构,其至少包含该网页对象类型所具有的特征,以及该网页对象类型所支持方法/功能。网页对象类型的特征即该网页对象类型可以具备的所有属性,比如一个图片对象类别可以具有位置、大小等属性。每一种对象类别可以具有不同种类的属性,比如,视频对象类别具有“播放时长”这个属性是图片对象类别所不具有的。一个对象类别所具有的方法/功能是指一个对象类别可以执行的动作(或操作),比如“创建()”。“绘制()”和“删除()”这个这样的动作。类似的,每一种类别的网页对象具有不同的方法/功能。上述对象类集合中包含了所有编辑引擎10所支持的网页对象类信息,当一个类别的网页对象被创建的时候,编辑引擎10会从对象类集合中获取相应网页对象类的信息,并且将该对象类所对应的特征属性显示出来。同一种对象类别中的对象,具有相同的特征属性。对于一个特定的网页对象,这些特征属性将被命名为该网页对象的“属性参数431”,这些属性参数431会在该网页对象所对应的属性面板43中显示出来,每一个属性参数431都对应一个属性参数值来描述网页对象的每一项属性。在一个优选实施例中,当一个网页对象创建完成之后,编辑引擎10会自动的设置将该网页对象的部分属性参数值,作为默认属性参数值。当然,用户能够对这些默认属性参数值进行编辑和修改。在另一个实施例中,属性面板43不会在一个网页对象被创建完成之后自动显示出来,而是需要通过用户的执行某些操作之后(比如按下键盘上某些按键)才会显示(可以显示为属性面板的形式,或者以其他具备相同功能的图形区域显示出来)。
当一个网页对象创建完毕之后,编辑引擎10可能进一步在对象树中创建一个该网页对象所对应的节点(步骤1003)。尽管这个步骤不是编辑网页对象所必须的,但其能够帮助用户更好的组织和管理一个网页实例30中不同的网页对象。上述对象树是一个在编辑界面40中的一个树桩的图形结构,这个树桩结构中的每一个节点都代表网页实例30中的一个网页对象。这些节点在对象树中的排列方式在某种程度上反应了它们所代表的网页对象的特定关系。同时,用户可以通过对对象树中节点进行特定操作,来操作这些节点所代表的网页对象。有关对象树更详细的介绍将在后文中给出。总体来说,对象树是用户更好的管理网页实例30中所包含的网页对象的一个工具。对象树中的每一个节点通常会在其代表的网页对象被创建的同时被创建出来。
上述编辑步骤1002至1003会不停的重复,一直到编辑引擎10检测到一个用户停止编辑的指令(步骤1004)。比如,当编辑界面40中的一个“保存”按钮被点击的时候,即代表用户停止了编辑过程。随后,编辑引擎10会创建一个资源描述文件32来描述所有创建完成的网页对象的类型和属性,以及这些网页对象中可见对象所对应的资源文件31的获取方法(该方法通常是一个URL链接)(步骤1005)。值得一提的是,本发明中网页对象之间的交互关系也是通过网页对象的属性来设定的,尤其是通过不可见对象的属性,比如事件对象,时间轴对象等等。这样,资源描述文件32中包含了一个网页实例30中所有网页对象的属性和交互关系,当资源描述文件32被播放引擎20获得的时候,播放引擎20便能够获得足够的信息来播放该资源描述文件32所对应的网页实例30。
图7描述了编辑引擎10的一个实施方式。首先,编辑引擎10包含了一个编辑模块11,该编辑模块11进一步包含了一个操作界面模块111,一个对象类集合112,以及一个资源描述文件生成模块113。上述界面模块111负责创建编辑界面40,编辑界面40中包含了用户编辑一个网页实例30所需要的各种功能区域,同时,操作界面模块111也能通过编辑界面40检测到用户各种操作。对象类集合是一个包含了所有编辑引擎10支持的网页对象类别信息的模块。资源描述文件生成模块113会在编辑引擎10检测到用户结束编辑指令后被激活,然后,它会获取所有已经创建完成的网页对象的信息以及它们的属性信息,并将上述信息记录到一个资源人描述文件32中去。更详细的来说,界面模块111会检测到一个用户结束编辑的操作指令,然后,界面模块111会获取所有已经创建的网页对象信息以及这些网页对象的属性信息,然后资源描述文件生成模块113会将这些信息记录到一个资源描述文件中去。当然,编辑模块还可能包含其他的未在图7中显示的功能模块。
编辑引擎10也有可能进一步包含一个编辑通信模块12,这个编辑通信模块12可以在网页实例30的编辑模式中,完成各个网页对象之间的通信,并实现不同网页对象之间的交互关系。这样,用户边能够在编辑模式中更好的预览网页实例30。上述编辑通信模块12并不是编辑引擎10的一个必要组成部分。
图8描述了播放引擎20播放网页实例30的过程的一个实施方式。首先,当一个网页浏览器34访问一个特定的网络地址(URL)的时候,它会下载一个嵌入有一个分享代码35的网页文件(步骤2001)。上述网页浏览器34仅是播放引擎20能够安装于其上的计算机软件的一种。总体来说,播放引擎20能够在各种软件的基础上安装和运行,比如,一个在线的媒体播放器,只要播放引擎20和其“寄居”的软件能够顺利的对象,以保证播放引擎的正常运行。上述网页文件,通常是存储在一个第三方的服务器中。
网页浏览器34随后解析其下载的网页文件,并且按照其中分享代码35的指示,下载播放引擎20和资源描述文件32(下载之后,播放引擎20和资源描述文件32通常存储在网页浏览器32的cache缓存中)(步骤2002)。如上文所述,分享代码35通常是一行可以被浏览器直接执行的指令代码,其中会指定下载播放引擎20和资源描述文件32的地址。播放引擎20是一系列能够被网页浏览器34直接执行的指令代码,或者网页浏览器34的一个插件应用,无论是那一种情况,播放引擎20被网页浏览器34下载后,都会自动进行安装。
当播放引擎20被安装完毕后,它会解析已经下载完成的资源描述文件32,并且按照资源描述文件32中记录的信息来创建网页对象(步骤2003)。可见对象通常具有资源文件31,比如,一个图片文件或一个视频文件等等。这些可见对象的资源文件31通常会在播放引擎20解析了资源描述文件32后被获取。比如,在资源描述文件32中会记录一个获取某个资源文件31的URL链接地址,在播放引擎20解析了资源人描述文件之后,便会通过上述URL链接地址来获取相应的资源文件31。不可见对象通常是用来控制网页实例30播放过程的功能性对象。播放引擎20创建不可见对象的方法有很多种。在一个实施例中,所有播放引擎20支持的不可见对象的类别信息会存储在播放引擎20自身之中,比如,存储在播放引擎20的对象类集合中,类似于编辑引擎10的对象类集合,所有不可见对象的方法/功能和特征属性都会在上述对象类集合中被定义。在另一个实施例中,不可见对象的类别信息也是从一个远程服务器下载的,比如上述编辑服务器。无论是那一种情况,播放引擎20都需要获得所有网页实例30中包含的不可见对象的对象类别信息,这样,播放引擎20便能够根据这些信息来创建网页实例30中所包含的不可见对象,并实现这些不可见对象的预设属性。
当所有可见和不可见对象被创建完毕之后,播放引擎20便能够根据所有网页对象的属性,来播放整个网页实例30了。通常情况下,可见对象用来为网页实例30提供可见的媒体元素,而不可见对象用来控制可见对象的播放过程,其中控制播放的具体逻辑是有上述不可见对象的属性信息来携带的。
图9是播放引擎20结构的一个实施方式。和编辑引擎10类似,播放引擎20也由两个主要部分组成,即播放模块21,和通信模块22。播放模块21进一步包含了对象类集合模块211和资源描述文件解析模块212。
播放模块21负责创建,初始化和播放所有的网页对象。对象类集合模块负责存储所有需要播放的网页对象的类别信息。在一个实施例中,对象类集合模块存储了所有编辑引擎10所支持的网页对象类别信息,即所有有可能在播放引擎20中所加载的网页对象类别的信息;在另一个实施例中,播放引擎20的对象类集合模块仅存储即将在播放引擎20中所播放的网页对象的类别信息,而这些即将被播放引擎20所播放的网页对象种类会在分享代码35中指明。资源描述文件解析模块负责读取资源描述文件32,并且将资源描述文件32中的信息转化成播放网页对象的指令。
通信模块负责完成网页实例30播放过程中不同网页对象之间的通信,以实现不同网页对象之间的交互关系。如上文所述,网页对象之间的交互关系能够让网页对象之间相互控制,为了要实现这样的功能,通信讯息需要能够在不同的网页对象之间传递。
值得一提的是,播放引擎20和编辑引擎10在结构上是对称的,除了播放引擎20不具备操作界面模块111,并将编辑引擎10中的资源描述文件生成模块113换成了资源描述文件解析模块212。由于这些“对称”的结构,编辑引擎10和播放引擎20可以理解成为网页实例30的编码器和解码器。
在一个网页实例30的播放过程,或“播放模式”中,还可以显示一个额外的播放工具条41。如图10所示,播放工具条41中包含了一些列的工具这些工具可以以按钮、文字、链接或其他图标的形式显示来,这些工具会在网页实例30播放的同时呈现出来。有了播放工具条41,网页实例30的观众可以在观看网页实例的时候对其进行各种操作,比如,为播放中的网页实例30添加评论,或是观看其他用户留下的评论。其他可能由播放工具条41中的工具提供的功能在以下表格中列出:
播放工具条41可以被显示为一个不透明或者版透明的工具条。播放工具条41也有可能是默认隐藏的,只是当用户进行某种操作的时候,比如,当用户将鼠标指针移至了网页实例30中的某个特定位置时,或是当网页实例30中的某个按钮(图中为显示)被点击的时候,播放工具条41才会显示出来。
当播放工具条41上的某个按钮被点击的时候,和这个按钮相应的功能便会被执行,或者一个和这个按钮对应的额外的功能窗口会显示出来。比如,当播放工具条41中的“复制”工具按钮被点击的时候,播放中的网页实例30会立刻被复制到一个特定的地址;当“评论”工具被点击的时候,如图11所示,一个和评论功能对应的功能窗口411会显示出来,以供用户输入评论并且查看该网页实例30之前的观众留下的评论。上述功能窗口的样式通常会根据其功能的不同而不同,这些功能窗口也能够以不同的形式被显示出来。比如,一个功能窗口可以是在播放工具条41之外的一个额外的窗口,或是播放工具条41的一个新增区域。但由于网页实例30在播放的时候通常会占据整个浏览器窗口63,显示一个功能窗口会不可避免的遮挡住一部分正在播放的网页实例30。
网页实例30中显示的播放工具条41可以以多种形式展现,比如,播放工具条41可以显示在浏览器窗口63顶端(如图12所示),窗口左端(如图13所示),窗口右端(如图14所示),或者其他任何形式(比如以弧线的形式在浏览器窗口63的角落中显示,如图15所示)。
在播放网页实例30的同时显示一个播放工具条41的好处是,用户可以在网页实例30播放的过程中与其进行交互,而不必打断网页实例30的正常播放过程(比如推出网页实例30的播放,然后跳至另一个网页来向该网页实例30留下评论)。
图16描述了根据一个优选实施例,由操作界面模块111所创建的编辑界面40的示意图。编辑界面40可以让用户用来创建一些列的网页对象,并且编辑这些网页对象的属性和交互关系。用户通过在编辑界面40上进行各种“用户操作”,来指示编辑引擎10执行特定的功能。根据编辑引擎10所安装的不同的客户端设备,“用户操作”可以是鼠标操作,键盘操作,触摸操作,遥控操作等等。
编辑界面40进一步包含一个编辑窗口41,一个编辑舞台44,一个工具面板42,一个属性面板43,和一个对象面板45。编辑窗口41通常限定了编辑界面40的显示边界,通常,当编辑引擎10被加载在一个网页浏览器34中时(未显示在图16中),编辑窗口41会覆盖网页浏览器34的所有显示空间;编辑舞台44是一个默认的编辑区域,它为网页对象的定位提供了参考位置。在播放一个网页实例30的过程中,可以在播放引擎20中预先设定所有网页对象的显示位置都是相对于编辑舞台44的相对位置,而编辑舞台44的显示位置又可以在编辑过程中让用户来设定。编辑舞台44并不是编辑界面40的必要组成部分。工具面板42,属性面板43,和对象面板45是网页实例30编辑过程中的功能区域。尽管这些区域被叫做“面板”,这三个区域并不一定需要以“面板”或矩形框的形式呈现出来,相反,它们可以呈现出任意的形状,比如,所有工具面板42中的工具组件可以被排列成一个环形。“面板”只是代表了一种这些功能区域可以呈现的形式。
如图16所示,工具面板42提供了一系列创建网页对象并编辑它们的属性和交互关系的工具组件。如图17所示,在一个实施例中,工具面板42包含了一个图片工具组件420,一个flash工具组件421,一个视频工具组件422,一个音频工具组件423,一个html工具组件424,一个时间轴工具组件425,一个页面工具组件426,一个运动轨迹工具组件427,一个事件工具组件428和一个文本工具组件429。每一个工具面板42中的工具组件被用户操作激活的时候,都可以用来创建一个相应的网页对象;比如,当用户点击了图片工具组件420的图标时,可以创建一个图片对象。
属性面板43包含了一些列属性参数431以及一系列数据输入框432。如图18所示,每一个属性参数431描述了一个网页对象一个方面的属性,而每一个数据输入框432中可以输入属性参数431所对应的属性参数值。当一个网页对象被创建后,其属性参数431会从对象类集合212中被获取,更详细的,是从对象类集合中该网页对象类别所对应的特征属性中获取。获取的属性参数431会随后被显示在属性面板43中,同时每个属性参数431都对应一个属性数据输入框432。数据输入框432中所要填入的数据或“值”,即“属性参数值”或“参数值”,这些值时由编辑引擎10从用户操作中获取或者自动设置的默认值。编辑引擎10随后将属性参数值填入属性数据输入框432中,但是用户依然可以通过属性面板43来更改这些属性参数值。值得一提的是,每一种类型的网页对象都具有其特有的属性参数,因为它们属于不同的对象类。图18中显示的属性面板是编辑舞台44的属性面板,在本发明的一个优选实施例中,其属性参数的意义如下:
如图16所示,对象面板45是一个让用户管理网页对象的功能区域。对象面板45中显示一系列代表了由编辑引擎10创建的网页对象的图标,每一个图标对应一个网页对象。在特定的情况下,用户可以通过操作这些图标来操作他们对应的网页对象,比如,删除一个对象面板45中的图标即可删除该图标所对应的网页对象。后文中,这些图标会被定义为“对象代表”,这些对象代表为所有网页对象的组织结构提供了一个缩略图,并为编辑网页对象提供了快捷方式。在后文中将描述的一个实施例中,这些对象代表会以一个树桩的结构来排列,组成一颗“对象树”。
如图16所示,编辑界面40中也可能包含有一个操作历史面板46,其记录了用户在编辑网页实例30过程的每一个操作步骤。如图19所示,当编辑舞台44创建完成之后,一个初始的历史记录461会在操作历史面板46中被显示出来。之后,每一步的用户操作都会在操作历史面板46中记录成为一个操作历史记录462。这些操作历史记录462可以被用来恢复先前的用户操作。
图片工具组件420可以用来编辑图片文件,图片文件可以被上传到编辑引擎10来被进一步的编辑。被上传的图片文件可以成为本发明中的一个媒体元素,即一个图片对象。编辑引擎10可以支持各种格式的图片文件,包括JPG,JPEG,JPE,PSD,PDD,BMP,GIF,EPS,FXG,IFF,TDI,PCX,PDF,PDP,RAW,PICT,PCT,PXR,PNG,SCT,TGA,VDA,ICB,VST,TIFF,TIF,PBM,PGM,PPM,PNM,PFM,PAM和PSB等等。当一个图片对象被创建或选中的时候,该图片对象的属性参数431会被从对象类集合112中读取出来并显示在属性面板43中。每一个属性参数值会随后被获取并填入至相应的属性数据输入框432中。
图20显示了一个图片对象属性面板43的实施例。在这个实施例中,图片对象的属性参数431包括了X,Y,宽,高,可见,初始可见,剪切,背景颜色,透明度,旋转角度,资源位置以及手势光标。这些属性参数431的具体含义如下表所示:
flash工具组件421可以用来编辑flash文件(比如.swf文件),flash文件可以被上传到编辑引擎10来被进一步的编辑。被上传的flash文件可以成为本发明中的一个媒体元素,即一个flash对象。当一个flash对象被创建或选中的时候,该flash对象的属性参数431会被从对象类集合112中读取出来并显示在属性面板43中。每一个属性参数值会随后被获取并填入至相应的属性数据输入框432中。
图21显示了一个flash对象属性面板43的实施例。在这个实施例中,flash对象的属性参数431包括了X,Y,宽,高,可见,初始可见,剪切,背景颜色,透明度,旋转角度,资源位置以及手势光标。这些属性参数431的具体含义如下表所示:
值得一提的是,本发明也支持其他格式的动画对象,比如其他格式的动态图片,这些其他格式的动画对象的创建方法和属性和flash对象类似。
视频工具组件422可以用来编辑视频文件,视频文件可以被上传到编辑引擎10来被进一步的编辑。被上传的视频文件可以成为本发明中的一个媒体元素,即一个视频对象。编辑引擎10可以支持各种格式的视频文件,包括f1v,f4v,mp4,avi,mpeg,DivX,MOV,ASF,WMV,RM,RMVB等。当一个视频对象被创建或选中的时候,该视频对象的属性参数431会被从对象类集合112中读取出来并显示在属性面板43中。每一个属性参数值会随后被获取并填入至相应的属性数据输入框432中。
图22显示了一个视频对象属性面板43的实施例。在这个实施例中,视频对象的属性参数431包括了X,Y,宽,高,可见,初始可见,剪切,背景颜色,透明度,旋转角度,自动播放,资源位置,音量以及播放控制条。这些属性参数431的具体含义如下表所示:
音频工具组件423可以用来编辑音频文件,音频文件可以被上传到编辑引擎10来被进一步的编辑。被上传的音频文件可以成为本发明中的一个媒体元素,即一个音频对象。编辑引擎10可以支持各种格式的音频文件,包括MP3,ogg,MIDI,WMA,RealAudio,wav,VQF和APE等。当一个音频对象被创建或选中的时候,该音频对象的属性参数431会被从对象类集合112中读取出来并显示在属性面板43中。每一个属性参数值会随后被获取并填入至相应的属性数据输入框432中。
图23显示了一个视频对象属性面板43的实施例。在这个实施例中,音频对象的属性参数431包括了X,Y,宽,高,可见,初始可见,剪切,背景颜色,透明度,旋转角度,自动播放,资源位置,音量以及播放控制条。这些属性参数431的具体含义如下表所示:
html工具组件424可以用来编辑html文件,html文件可以被上传到编辑引擎10来被进一步的编辑。被上传的html文件可以成为本发明中的一个媒体元素,即一个html对象。当一个html对象被创建或选中的时候,该html对象的属性参数431会被从对象类集合112中读取出来并显示在属性面板43中。每一个属性参数值会随后被获取并填入至相应的属性数据输入框432中。
图24显示了一个html对象属性面板43的实施例。在这个实施例中,html对象的属性参数431包括了X,Y,宽,高,可见,初始可见,剪切,背景颜色,透明度,旋转角度,资源位置以及手势光标。这些属性参数431的具体含义如下表所示:
时间轴工具组件425被激活的时候(比如被点击时),可以用来生成一个时间轴对象。时间轴对象是不可见对象中的一种,其可以控制同一个网页实例30中其他网页对象的运动,或者触发其他网页对象的属性在一段时间内改变。当一个时间轴对象被选中的时候,它的属性参数431会被从对象类集合112中读取出来并显示在属性面板43中。用户能够随后通过调整属性数据输入框中的参数值来调整每一个属性参数。图25显示了一个时间轴对象属性面板43的实施例,时间轴的属性参数431的具体含义如下表所示:
自动播放 网页实例30开始播放的时候,时间轴对象是否自动开始播放。
总时长 时间轴对象所管理的时间段的总时长,以秒为单位。
运动轨迹工具组件427能够生成一个运动轨迹对象,运动轨迹对象通常和一个时间轴对象配合来实现其功能。总体来说,每一个运动轨迹对象都会记录一个时间轴对象管理的一个其他网页对象在某个时间段上的属性。图26描述了一个运动轨迹对象属性面板431的实施例,包括“类别”,“开始显示”和“结束显示”。
时间轴和运动轨迹更详细的介绍会在后文中给出。
页面工具组件426用来创建页面对象,页面对象是本发明中另一类不可见对象,其作用是充当其他网页对象“容器”。在一个网页实例30播放的过程中,一个页面对象被显示的时候,只有该页面对象中包含的网页对象才会被显示和播放出来。通常,不存在两个页面对象同时被播放的情况,这样,页面对象提供了在网页实例30播放过程中场景切换的功能。同时,在编辑过程中,各种网页对象能根据其所属的页面对象来显示,在一个实施例中,选中不同的页面对象能够在编辑界面中显示不同组别的网页对象,并且新开一个新的编辑舞台44。
尽管属于不同页面对象的网页对象,会在播放和编辑的过程中分别显示出来,这些属于不同页面的网页对象之间依旧存在交互关系。比如,点击一个页面中的图片对象会让另一个页面中的视频对象显示出来。
当一个页面对象被选中的时候,其属性参数431会被从对象类集合112中读取出来并显示在属性面板43中。编辑引擎10会获取每一个属性参数的值并将其填入到属性数据输入框432中。图18描述了页面对象属性参数431的一个实施例,其和编辑舞台44的属性面板43中显示的内容是一致的。
本发明中还有其他类似与页面对象的网页对象:层对象和屏幕对象(未显示在示意图中)。层对象和屏幕对象也是其他网页对象的容器对象。
层对象的功能和页面对象类似,但是两个层对象可以同时被显示出来或叠加在一起。层对象在叠加显示的时候,需要设定一个属性参数432,即“显示层序”,来定义多个层在叠加显示时的上下排列顺序。
屏幕对象可以被理解成为在不同的浏览器窗口63中显示的页面对象。当一个网页实例30中存在多个屏幕对象的时候,这个网页实例30可以同时在多个浏览器窗口63中进行显示和播放,上述多个浏览器窗口63可以存在于同一个客户端设备中,也可以存在于多个不同的客户端设备中。比如,当一个具有两个屏幕对象的网页实例30被播放的时候,在两个客户端设备上的两个浏览器窗口63会分别同时加载不同的网页对象,同时,显示在一个浏览器窗口63中的网页对象能够控制显示在另一个浏览器窗口63中的网页对象的播放过程。屏幕对象的详细使用方法会在后文中给出。
文本工具组件429可以用来编辑文本文件,文本文件可以被上传到编辑引擎10来被进一步的编辑。被上传的文本文件可以成为本发明中的一个媒体元素,即一个文本对象。除了上传一个文本文件,文本工具组件429也支持用户直接输入文字,在一个文本框里输入的文字会成为一个文本对象。当一个文本对象被创建或选中的时候,该文本对象的属性参数431会被从对象类集合112中读取出来并显示在属性面板43中。每一个属性参数值会随后被获取并填入至相应的属性数据输入框432中。
图27显示了一个文本对象属性面板43的实施例。在这个实施例中,文本对象的属性参数包括X,Y,宽,高,可见,初始可见,剪切,背景颜色,透明度,旋转角度,资源位置,手势光标等。每一个属性参数的具体含义如下表所示:
事件工具组件428负责创建事件对象,事件对象是本发明网页实例30中非常重要的网页对象,其负责编辑所有网页对象之间的交互关系。当一个事件对象被创建或选中的时候,该事件对象的属性参数431会被从对象类集合112中读取出来并显示在属性面板43中。每一个属性参数值会随后被获取并填入至相应的属性数据输入框432中。用户可以通过调整每一个属性参数31的参数值,来编辑网页对象之间的交互关系。事件对象更详细的使用说明会在后文中给出。
图28描述了事件对象属性面板中属性参数431的一个实施例。这些属性参数的详细含义如下表:
值得一提的是,一个事件对象只有在其所有的三个属性参数431全部有指定的参数值时才能正常的运作。
在图29中描述了所有在本发明中编辑引擎10和播放引擎20所支持的网页对象的类别。如上文所述,一个网页实例30中主要包含两种网页对象,即可见对象和不可见对象。可见对象是网页实例30中的媒体元素,而不可见对象用来执行某种特定的功能,不可见对象进一步包括控制对象和容器对象。
图30描述了创建一个网页对象过程的一个实施例,其中编辑界面40会首先通过操作界面模块111进行初始化。工具面板42提供了一系列创建网页对象和其交互关系的工具组件,比如图片工具组件420,flash工具组件421,视频工具组件422,音频工具组件423,html工具组件424,时间轴工具组件425,页面工具组件426,事件工具组件428。在编辑界面40初始化完成之后,一个根节点会自动在工具面板45的对象树451中创建出来。上述根节点代表了编辑舞台44,并且会在初始化时默认被选为当前操作节点。同时,属性面板43会显示编辑舞台44相对应的一些列属性参数431。
操作界面模块111会进一步检测工具面板42中是否存在一个创建网页对象的操作,如果是,便进一步获取需要创建的网页对象的类型信息。在这个实施例中,工具面板42中的图片工具组件420被用户鼠标点击,来创建一个图片对象。
在一个优选实施例中,当图片工具组件420被选中后,需要用户进一步来设定一个对象创建区域441,来定义需要创建的图片对象的大小和位置。由于大多数图片对象的形状是矩形的,因此,这个对象创建区域441也最好是矩形的,即通过其两个对角顶点的位置来定义其大小和位置。这个对角顶点,可以是左上角和右下角,或者右上角和左下角。在本发明的是一个实施例中,如图31所示,用户可以通过以下操作来定义对象创建区域441的左上角顶点A和右下角顶点B的位置:首先在一个位置点A按下鼠标按键,然后按住鼠标按键,将光标位置拖至位置点B,然后松开鼠标按键。编辑引擎10随后会记录下两个顶点A、B的位置,并进一步计算出另外两个顶点(左下和右上顶点)的位置,最终获取对象创建区域441的详细大小和位置,如图32所示。注意,上述设定一个对象创建区域441的步骤仅限于可见对象的创建过程,对于不可见对象,并不存在这个步骤,因为不可见对象是不能在舞台上被显示出来的。另一方面,尽管对于可见对象,设定一个对象创建区域441的步骤是一个优选的实施步骤,但其并不是必须的。需要创建的可见对象的大小和位置,也可以在可见对象被创建完整之后,再由用户来设定,比如,一个可见对象创建完成后,会首先以一个默认的大小显示在一个默认的位置上,然后用户可以通过属性面板来调整它的大小和位置。最后,用户可以通过多种方法来在编辑界面40中设定上述对象创建区域441,比如通过其他类型的鼠标操作,或直接通过键盘来输入对象创建区域441顶点的位置坐标。
当用户设定完一个对象创建区域441后,一个媒体选择窗口442会立刻自动弹出,来让用户选择或上传一个素材文件,如图33所示。首先,一系列已经上传到编辑服务器的素材文件31会在媒体选择窗口442中显示出来,当其中一个图片素材(比如,图片2)被用户选中的时候,用户可以进一步按下“OK”按钮,然后该图片便会显示在之前创建的对象创建区域441中,而这个图片对象也被创建完成了,如图34所示。图片对象的资源文件也有可能从用户编辑的本地电脑上传,如果要上传资源文件,那么用户需要在资源选择窗口442中按下“上传”按钮(图35),然后资源选择窗口442中会显示出一些列本地计算机中资源文件(图36),当用户选择一个图片(如图片C)后,可以按下“OK”按钮来上传选中的图片,之后选中的图片便会在之前设定的对象创建区域441中显示来,并完成一个图片对象的创建(图37)。
在一个优选实施例中,当图片对象被创建的同时,对象树451中会同时创建一个代表该图片对象的新的节点452,该新创建的节点将作为当前选中节点(在此例子中即根节点)的子节点,如图34和图37所示。
如图34和图37所示,在一个优选实施例中,当图片对象被创建的同时,属性面板43中会同时显示出该图片对象所对应的属性参数431,这样,用户可以立即对新创建的图片对象的各项属性进行设定。在图34和图37的例子中,由于用户之前预设了一个对象创建区域441来定义新建图片对象的大小和位置,因此新建图片属性面板43中的宽、高属性参数值会被系统自动填入至相应的属性数据输入框432中。
在一个实施例中,本发明网页实例30中所有的网页对象都是以一个树状的结构来组织的,其中,每一个网页对象都是这个树桩结构中的一个“节点”。树桩的结构是一个常用的数据结构,其由一些列组织成树的结构的节点组成。这些节点中的最上层(或第一个)节点,即是这个树桩结构的根节点,在本发明的一个实施例中,该根节点代表了编辑舞台44。除了根节点外的其他节点,通常会以一种父子对象关系从根节点“生长”出来。每个树状结构中的节点,可以具有多个子节点或没有子节点。一个节点的子节点即从该节点上“衍生”出来的节点,或者是直接和该节点相连并且位于整个树状结构“下游”位置的节点。一个具有子节点的节点,即其子节点的父节点,同一父节点的多个子节点成为兄弟节点。每一个特定节点上都可以“生长”出一颗子的对象树,该子对象树由该节点以及从该节点上生长出的所有“后代节点”组成。一个节点的后代节点指任意一个从该节点上直接或间接生长出的子节点。
图38是一个树桩数据结构的示意图。首先,有一个根节点,从这个根节点上,整个对象树“生长”出来。根节点首先衍生出了节点1.1和节点1.2,而这两个子节点进一步衍生出了节点2.1,节点2.2,节点.2.3,然后是节点3.1,节点3.2,和节点3.3。以节点1.1作为一个例子,根节点是节点1.1的父节点,节点1.2是节点1.1的兄弟节点,节点2.1和节点2.2是节点1.1的子节点,而节点3.1是节点1.1后代节点中的一个。
本发明实施例中的网页对象也是以这样的树桩结构来组织的,即每一个网页对象对应树桩结构中的一个节点,这样,在一个网页实例30中,可以有父对象,子对象,兄弟对象和后代对象。在一个实施例中,通过这些父子对象关系,可以大大提高编辑一个网页实例30的效率,比如:
当一个网页对象被选中的时候,只有其自身和其后代对象会显示出来,并可以被编辑。这样,极大的方便了用户编辑一个非常复杂的网页实例30的过程。
一个网页对象的特定属性可以传递到它所有的后代对象中。比如,位置、透明度、旋转角度和可见性都可以由一个对象传递到它所有的子对象中,比如,当某个可见对象被设为不可见的时候,其所有的后代对象都会自动的变为不可见;当某个可见对象被设定为旋转180度的时候,其所有的后代对象都会旋转180度。对象属性从一个对象传递到其后代对象的方式,可以根据用户需求来设定。比如,当一个特定对象被设置为不可见的时候,其所有的后代对象都会变为不可见,但当该对象被设为可见时,其所有的后代对象不一定要都变为可见,相反,用户可以单独设定每个后代对象的可见性。这样的设定方法,即可以让一个对象的属性传递到其后代对象中去,也可以保持其后代对象属性的一定的独立性。这样,属性在父对象和其后代对象之间的“传递”方式,可以根据不同的需要来设定,而属性的传递并不仅仅代表属性直接的复制。
一个容器对象的后代对象,会自动的被“装”在该容器对象中。比如,一个页面对象的所有后代对象都会自动的包含在这个页面中,当网页实例30被播放的时候,这些后代对象便会显示在一个页面里。这样,网页对象的父子对象关系为用户提供了在网页实例30的编辑过程中,设定一个容器对象所包含或“容纳”的对象的方法。
一个时间轴对象的子对象,会自动被设定为被这个时间轴对象所管理。在网页实例30的播放过程中,一个时间轴对象会在一个特定时间段上管理一系列其他对象的属性变化过程。通过网页对象的父子对象关系,用户边能够很来设定一个时间轴对象所需要管理的其他对象。
一个事件对象的父对象,会自动设为该事件对象的触发对象。如上文所述,在网页实例30播放的过程中,事件对象用来定义同一个网页实例30中不同的网页对象之间的交互关系,更确切的说,一个触发对象上发生的某个事件或某种状态,会触发一个目标对象来执行某个动作。而一个事件的触发对象,即可通过父子对象关系在网页实例30的编辑过程中被设定。
如上文所述,在本发明的一个优选实施例中,对象树是在对象面板45中显示的一个图形化项目。对象树通过一系列的对象节点,将网页对象的树状组织结构可视化,其中,每一个对象节点都代表编辑引擎10创建出的一个网页对象。在对象树中,对象节点的排列方式完全反应了其代表的网页对象的组织方式,这些对象节点也和其代表的网页对象具有相同的父子对象关系,即两个分别代表一个父对象和一个子对象的对象节点,会在对象树中排列为父节点和子节点。在网页实例30的编辑过程中,对象树能起到很多作用。
在一个实施例中,一个网页实例30中网页对象的父子对象关系能够通过其对应的对象树中对象节点的排列关系来编辑。比如,通过鼠标的拖拽可以很容易的改变对象树中对象节点的排列位置,而当对象节点的排列位置改变的时候,这些对象节点所代表的网页对象的父子对象关系也会相应的改变。
在另一个实施例中,用户也可以通过对象树来管理网页对象的显示排列层级。无论是在网页实例30的编辑模式还是播放模式中,不同的可见对象可能会重叠在一起。通过编辑引擎10,用户可以设定这些重叠的对象的显示排列层级,即哪一个对象叠在上面显示哪一个被压在下面,显示排列层级高的对象会被叠在显示排列层级低的对象的上面。在一个优选实施例中,网页对象在网页实例30的编辑模式中的显示排列层级和在网页实例30的播放模式中的显示排列层级是一致的,这样,用户在网页实例30的编辑过程中边能够预览其播放时的效果。
用户可以通过对象树来很方便的管理网页对象的显示排列层级。编辑引擎10中可以预先设置各种不同的对应规则,来定义对象树排列方式和网页对象显示排列层级之间的关系。在一个实施例中,所有子对象会被排列在父对象之上,而兄弟对象之间的显示排列层级关系则有兄弟对象所对应的对象节点的排列关系来决定。图39描述了一个例子,其中编辑界面40中的对象面板45上显示有一个对象树451。该对象树451包含一个根节点4511,一个P节点4513,一个A节点4516,一个B节点4515以及一个C节点4514。P节点4513是根节点4511的直接子节点。A节点4516,B节点4515以及C节点4514是兄弟节点,并同为P节点4513的子节点。根节点4511在这个例子中代表编辑舞台44(图39中为显示),在这个例子中,P节点4513,A节点4516,B节点4515以及C节点4514分别代表一个父对象,一个子对象A,一个子对象B和一个子对象C,所有这些对象都是文本对象。在这个实施例中,对象树中对象节点的父子对象关系和其代表的网页对象的父子对象关系是完全一样的,这样,图39中的父对象便是编辑舞台44的子对象,并且是子对象A,子对象B和子对象C的父对象。
由于上述的文本对象都具有背景颜色,所以它们在编辑舞台44上显示的时候,可能会重叠在一起。根据上述实施例中的规则,父对象会被放在其所有子对象之下。然后子对象中,子对象C会排在子对象B之上,子对象B在子对象A之上。这些对象的排列层级是由其对应的对象节点在对象树中的排列方式来决定的,在这个例子中,对象树中更靠近父节点排列的子节点所对应的网页对象会具有更高的显示排列层级。网页对象的显示排列层级可以很方便的通过改变其对应的对象树中对象节点的排列关系来改变,比如通过鼠标的拖拽来改变对象节点的排列方式——首先点击一个特定的对象节点,然后按住鼠标按键,将其拖拽到一个满意的位置,然后松开鼠标按键。在上述例子中,由于节点C相比节点B更靠近它们的父节点节点P,所以节点C所对应的网页对象(子对象C)会排列在节点B所对应的网页对象(子对象B)上来显示。
通过对象节点的排列方式来控制网页对象显示排列层级的方式也可以遵循其他的规则。比如,父对象可以比子对象具有更高的显示排列层级,在兄弟对象之间,排列更靠近父节点的对象节点所对应的网页对象具有更低的显示排列层级。在另一个实施方式中,同一个父节点下的兄弟子节点可能和父节点具有相同的距离,在这种情况下,这些兄弟对象节点所对应的网页对象的显示排列层级便需要通过这些兄弟对象节点的其他显示特征来决定了。比如,由这些兄弟对象节点相对其共同父节点的排列角度来决定。通过对象树中的对象节点的排列,来控制对象节点所对应的网页对象的显示排列层级的方法,大大提高了网页对象编辑的简便程度。
在另一个实施例中,对象树中对象节点的排列方式会被这些对象节点的创建先后顺序影响,同时,由于在优选的实施方式中,每一个对象节点都会在其代表的网页对象被创建的同时被创建出来,对象树中对象节点的排列方式便会被其对应的网页对象的创建先后顺序影响。
图40和图41中给出了两个例子。在图40中,对象树中对象节点的创建顺序是由其编号来代表的,即节点1在节点2之前被创建,节点2在节点3之前被创建。如图40所示,一个父节点总是会在一个子节点之前被创建,在同一个父节点的兄弟子节点中,先创建的子节点会被排列在更靠近其父节点的位置。在图40的例子中,对象树中节点的排列顺序也决定着其代表的网页对象的显示排列层级。同时,在这个例子中,子节点所对应的网页对象会相比父节点对应的网页对象具有更高的显示排列层级;而在同一父节点下的兄弟子节点中,其对应的网页对象的显示排列层级由以下规则决定:如果一个节点X(未显示在图40中)和一个节点Y(未显示在图40中)是同一个父节点Z(未显示在图40中)的子节点,并且节点X排列相比节点Y排列在离节点Z更远的位置,那么节点X所代表的网页对象将会比节点Y所代表的网页对象拥有更高的显示排列层级。根据以上两个排列规则,网页对象创建的先后顺序会影响到其对应的对象节点在对象树中的排列顺序,从而进一步影响到网页对象自身的显示排列层级。
在图40的例子中的网页对象从上到下排列如下:节点1.2代表的网页对象、节点2.2代表的网页对象、节点3.2代表的网页对象、节点3.1代表的网页对象、节点2.1代表的网页对象、节点1.1代表的网页对象、编辑舞台44。在上述例子中,一个更晚被创建的网页对象将具有更高的显示排列层级,这样的设计的好处是用户通常可以直接选中或编辑刚刚新建的网页对象。另外,在图40中,为了命名方便,网页对象的名称和其对应的对象节点的名称是一致的。
在图41描述了类似与图40类似的一个例子,但是图41中对象节点的排列方式略有不同。在图41中,同一父节点下的兄弟子节点中,更早被创建的子节点会排列在离其父节点更远的位置。对于网页对象的显示排列层级,子节点所对应的网页对象依旧比父节点对应的网页对象具有更高的显示排列层级,但在同一父节点的兄弟子节点中,图41中的排列规则和图40刚好相反。以图40中的节点X,Y,Z作为例子,在图41的情况下,节点Y所代表的网页对象会比节点X以及其所有后代节点所代表的网页对象具有更高的显示排列层级。这样,图41中的网页对象的显示排列顺序从上到下依次为:节点3.2代表的网页对象、节点3.1代表的网页对象、节点2.2代表的网页对象、节点2.1代表的网页对象、节点1.3代表的网页对象、节点1.2代表的网页对象、节点1.1代表的网页对象、编辑舞台44。
在优选实施例中,本发明的对象树还具备一些一些特征和功能。
图42描述了对象面板45中的一个对象树结构451。上述对象树451具有一个根节点4511以及一些列的其他节点。通过对象树451,用户能够管理编辑舞台44上的各种不同的网页对象,这些网页对象由用户通过工具面板42来创建。值得一提的是,在图42所描绘的对象树中,并不存在链接父节点和子节点的线条,节点的父子对象关系是通过排列的缩进距离来呈现的,比如,两个排列在一起并具有相同缩进距离的节点,是兄弟节点;如果一个节点相比刚好排列在其上的另一节点,拥有更大的缩进距离,那么该节点是排列是刚好排列在其上的那个节点的子节点。优选的,每一个对象树中的节点都具有一个类别标记45121和一个节点名称45122。类别标记45121和节点名称45122能够帮助用户更好的识别不同的节点。类别标记45121能够以一个图标的形式来标记一个节点所代表的网页对象的对象类别。比如,一个代表这一个文本对象的节点,会具有一个写着“T”的类别标记。对象树451进一步具有节点控制开关4513,用来展开和隐藏某个节点的子节点,这样用户可以更好的管理对象树的呈现方式。在上述例子中,当一个节点控制开关4513显示为一个白色的三角形时,用户可以点击这个节点开关来显示该节点开关对应的节点的所有的子节点;当上述节点开关4513呈现为一个黑色的三角形时,代表该节点开关所对应的节点已经被展开了,即其所有的子节点已经呈现出来,如果再次点击这个节点开关4513,该节点开关对应的节点会被收拢,即其所有的子节点都会隐藏;如果一个节点旁边没有显示任何节点开关4513,则代表该节点不具有任何的子节点。
在编辑一个网页实例30的过程中,对象树可以为用户的编辑出操作提供各种快捷方式。图43描述了在对象树中可以显示的勾选框和下拉菜单,其可以被用来设定网页对象的特定属性。在图43所描绘的例子中,用户可以通过选中一个节点旁边的勾选框来将该节点代表的网页对象设置为“可见”,或者在该节点的下拉菜单中选中“原始大小”来将该节点所代表的网页对象设置成与其素材文件一样的大小。图44显示了一个用户右键点击对象树中的一个节点,来调出该节点所代表的网页对象的操作菜单的例子。在这个例子中,用户可以右键点击一个节点,然后选择随后出现的菜单中的“创建”选项,来为该节点代表的网页对象创建一个子对象,并进一步设定需要创建的子对象的对象类别。在一个优选实施例中,不同网页对象所对应的节点被右键点击时,会呈现出不同类型的操作菜单,如图46和图47所示。
如图45所示,一个节点的类别标记能够标注该节点所代表的网页对象的类别,以让用户对网页实例30中的网页对象有更好的了解。
图48描述了本发明一个优选实例中,创建一个网页对象的过程。首先,编辑引擎10是在一个网页浏览器34的基础上运行的,当该网页浏览器访问一个特定的URL地址的时候(步骤3001),编辑引擎10会自动的被下载、安装到网页浏览器34中,并自动运行。用户能够进一步通过服务平台60来获取编辑引擎10。用户首先登陆到服务平台60(步骤3002),服务平台60随后认证用户的账户和密码信息,并且以此来决定是否授权用户来访问编辑引擎10(步骤3003)。如果授权成功,那么用户可以随后访问编辑引擎10并在网页浏览器34中加载编辑界面40;如果首选不成功,用户会被重新定向到服务平台60的登陆界面。当编辑界面40加载完成之后,编辑引擎10会检测工具面板42中是否存在创建一个网页对象的操作,如果检测到该操作,那么编辑引擎10会进入下一步骤3005来检测需要创建的网页对象的类别;如果没有检测到有创建网页对象的操作,那么编辑引擎10会继续等待创建网页对象的操作指令。在下一个步骤3006中,编辑引擎10会检测是否创建的网页对象是一个可见对象,如果是一个可见对象,那么该可见对象的显示坐标会被获取并按该显示坐标在编辑界面40中显示出来(步骤3007),与此同时,对象树中会同时创建一个代表该可见对象的对象节点(步骤3008);如果创建的网页对象是不可见对象,那么编辑界面中不会显示任何网页对象,但在对象树中依然会新增一个代表该不可见对象的对象节点。无论是哪一种情况,对象树中新建的对象节点都会成为当前选中节点的子节点。当前选中节点是对象树中一个重要的概念。在一个对象树中,同一时刻只能存在一个当前选中的节点,当前选中的节点即当前时间正在被操作的节点。当前选中节点,可以是最新创建的节点,也可以由用户操作来任意指定(比如通过鼠标点击一个节点来指定其为当前选中节点)。当前选中节点所代表的网页对象为“当前选中对象”,即当前时间正在被操作的对象。在一个优选的实施例中,属性面板43总是会显示当前选中对象相对应的属性参数。除了提供编辑引擎10服务,服务平台60也可以额外的提供用户认证,付费管理能服务。
图49描述了本发明一个优选实施例中创建一个可见对象的流程。首先,编辑引擎10接收到一个创建一个可见对象的指令(步骤4001)。然后,编辑引擎10等待用户指定一个对象创建区域411,优选的,这个对象创建区域411是由用户的鼠标拖拽操作来指定的(步骤4002)。当检测到编辑舞台上有鼠标拖拽的操作时,编辑引擎10会获取上述鼠标拖拽区域的四个顶点的位置坐标(步骤4004),并且进一步判断上述用户创建的对象创建区域411是否是一个有效的区域(步骤4005),如果是一个有效的区域,那么会进行步骤4007,否则,对象创建的过程会被取消(步骤4006)。在步骤4007中,一个媒体选择窗口会显示出来,让用户选择或者上传一个素材文件,或者输入一个可以让编辑引擎10下载素材文件的URL地址。在最后一个步骤4008中,一个代表新创建的可见对象的对象节点会在对象树中被创建出来,该节点会作为当前选中节点的子节点,同时,新创建的可见对象会在预设的对象创建区域411的范围内显示出来。
图50描述了本发明一个优选实例中创建一个对象树中新节点的过程。首先,编辑界面40会进行加载来让用户创建一个新的网页实例30(步骤5001),加载完成后,编辑引擎10会立即在对象树中创建一个根节点,并且将根节点设定为当前选中节点(步骤5002)。然后,编辑引擎10会检测是否有用户操作指示创建对象树中一个新的节点,并且会检测需要创建的新节点的节点类型(步骤5003),如果有检测到新建节点的指示,那么会进一步执行步骤5005,如果没有,编辑引擎10会继续等待进一步的指示(步骤5004)。在步骤5005中,一个新的节点会被创建成为当前选中节点的子节点,同时该节点的节点类型会被设定。比如,当一个新创建的节点代表了一个图片对象的时候,该节点旁边便会显示一个代表图片类型的节点类型标记。最后,在步骤5006中,新创建的节点,或新创建节点的父节点会被设定为当前选中节点,然后编辑引擎10会回到步骤5003来等待下一步的指示。在步骤5006中,如果新创建的节点被设定为当前选中节点,那么根据步骤5005,下一个创建的新节点,将成为这个新创建节点的子节点;如果新创建节点的父节点被设为当前选中节点,那么下一个创建的新节点将成为这个新创建节点的兄弟节点。编辑引擎10可以预先设定上述两种方式中的任何一种规则来设定当前选中节点。
需要注意的是,对象树只是本发明实施例中排列对象节点的一种方式。根据编辑引擎的不同需求,以及网页对象的不同组织结构,对象节点可以在对象面板45中呈现出各种不同的排列结构,比如,一个网状的结构,一个中心辐射结构等等。在上文中陈述的对象树功能中,和树状结构无关的功能,也可以在这些其他结构中应用,比如在图43和图47中描述的网页对象控制功能。
时间轴对象是本发明网页实例30中的一种不可见对象。总体来说,一个时间轴对象能够在一段时间内控制同一个网页实例30中的其他对象的属性,包括其他的时间轴对象。被一个时间轴对象所控制或“管理”的对象会被认为是这个时间轴对象的“管理对象”,而时间轴对象控制其“管理对象”的有效时间段即该时间轴对象的“管理时间段”。一个时间轴对象可以拥有一个或多个管理对象,但通常来说,一个网页对象只能被一个时间轴对象所“管理”。在一个网页实例30的播放过程中,如果一个时间轴对象开始播放或“启动”,那么其管理的所有管理对象根据预先设定的属性来进行播放。同时,在一个网页实例30的播放过程中,一个时间轴对象的管理对象也可以在时间轴的管理时间段之外的时间显示,具体显示的方式可以由时间轴对象的属性参数来决定。这样,在一个网页实例30的播放过程中,一个时间轴对象可以被理解成为其管理对象的一系列预先设定好的播放逻辑,或“时间轴逻辑”。一个时间轴的时间轴逻辑定义了其管理对象在一个时间段内每一个时间点上的播放状态,每个管理对象的播放状态,是其在某个时间点上所有属性的集合。
通过编辑引擎10,用户能够来设定那些网页对象来成为一个时间轴的管理对象,并且进一步设定这些管理对象在一个时间段上的属性变化。在一个优选的实施例中,用户可以通过网页对象的父子对象关系来设定一个时间轴对象的管理对象。比如,一个时间轴对象可以拥有一系列的子对象,而这些子对象会自动成为这个时间轴对象的管理对象。图51描述了一个上述情况的例子,其中时间轴对象71管理了对象X和对象Y,时间轴对象72管理了对象Z。与此同时,对象X进一步拥有两个子对象,即对象A和对象B,对象A和对象B并不是直接被时间轴71所管理的对象。但是,由于对象X是对象A和对象B的父对象,因此对象X某种程度上成为了对象A和对象B的容器,因此许多对象X的属性会被传递到对象A和对象B上,这样时间轴71也就通过对象X来间接的管理了对象A和对象B。
图52描述了一个时间轴对象是另一个网页对象的子对象的情况。在一个优选的实施例中,在一个网页实例30播放的过程中,一个时间轴对象可以通过其父对象的特定播放状态来触发启动。比如,当一个时间轴对象的父对象显示出来的时候,该时间轴对象会自动开始播放。用户可以在时间轴对象的属性中来设定其是否会被其父对象的某种播放状态来触发启动,并进一步设定是哪一种播放状态(比如,其父对象的显示和隐藏状态)。在上述情况下,时间轴对象或时间轴对象所控制的播放逻辑会被“封装”在另一个网页对象下(比如这个时间轴对象的父对象),如图53所示,这样,能够帮助用户更好的管理一个复杂的网页实例30中所包含的各种播放逻辑。
图54描述了一个实施例中时间轴对象的编辑过程,包括以下步骤:
6001编辑引擎10加载编辑界面40,其中,工具面板42中包含一个用来创建时间轴对象的时间轴工具组件。
6002编辑引擎10获取当前选中对象和对象树中的当前选中节点。在一个优选实施例中,当前选中对象会被设定为任何刚刚创建的对象的父对象。
6003编辑引擎检测工具面板42中是否存在一个创建时间轴对象的用户操作。如果存在,那么执行下一个步骤,如果不存在,则等待进一步的指令。
6004一个时间轴对象会被创建成为当前选中对象的子对象,同时,在对象树中会在当前选中节点下创建一个新的节点来代表该时间轴对象,新节点即成为当前选中节点的子节点。
图55描述了一个优选实施例中,触发一个时间轴启动的过程。首先,在一个网页实例30的编辑过程中(步骤7001),一个时间轴对象1被创建,并且,该时间轴对象1的“自动播放”属性参数被设置成属性值“是”,代表在该网页实例30开始播放的时候,该时间轴对象会在其父对象加载出来的时候自动开始播放。在步骤7002中,一个网页浏览器43访问了上述包含时间轴对象1的网页实例30,并且获取了相应的播放引擎20和资源描述文件32,然后开始播放该网页实例30。在步骤7003中,时间轴对象的父对象“对象A”被加载出来,然后播放引擎20通过资源描述文件32中的信息来判断时间轴对象1的“自动播放”属性参数的属性值是否被设定为“是”,如果是,那么时间轴对象1会启动播放(步骤7005);如果不是,那么播放引擎20会继续等待其他触发时间轴1启动播放的事件(步骤7006)。
图56描述了一个优选实施例中,通过时间轴对象来设定其管理对象属性的方法。首先,需要通过对象树操作或其他操作(比如时间轴对象的属性设定)来确定一个时间轴对象的管理对象。如图56所示,该时间轴对象管理了4个对象,即对象1,对象2,对象3和对象4。上述4个对象的属性可以通过关键点来设定。一个关键点即一个在时间轴对象管理时间段中的时间点,在每一个关键点上可以定义时间轴管理对象的播放状态。换一句话来说,一个关键点是一个标记了时间轴管理对象播放状态的时间点。需要注意的是,每一个关键点仅对应一个时间轴的管理对象,即该关键点的“标记对象”,但每一个时间轴管理对象可以在时间轴的管理时间段内拥有多个关键点。在图56中,关键点t0是对应于对象1的一个关键点,而关键点t1和t2则对应于对象2,如此类推。在每一个关键点上,用户可以设定该关键点对应的网页对象的属性,当时间轴启动时,该网页对象即会按照每个关键上设定的属性来播放。由于用户并没有设定两个关键点之间的时间点上管理对象的属性,这些属性会被系统根据某些预设的算法自动计算出来,比如通过插值算法。一个插值算法是一个在一系列离散的数据点之间创建新数据点的数学算法,常用的插值算法包括多项式插值(如拉格朗日多项式,牛顿多项式),有理数插值(rationalinterpolation),三角插值,样条插值,Bezier插值等。这样,一个时间轴的管理对象的属性可以在时间轴管理时间段上的任何一个时间点上被设定了。
值得一提的是,如果一个时间轴的管理对象在该时间轴的起点上没有任何的关键点(即时间为0的时间点上),那么,可以进一步设定该时间轴管理对象是否需要在第一个关键点之前被显示出来。如果选择是,那么在时间轴启动时候,第一个关键点所标记的时间之前,该管理对象会按照其第一个关键点上设定的属性被显示出来,反之则不显示。同样的逻辑也对管理对象最后一个关键点之后的显示情况有效。
在编辑界面40中,用户可以通过多种方式来创建时间轴管理对象的关键点,并进一步设定时间轴管理对象在关键点上的属性。比如,可以通过时间轴的属性面板43,用户可以输入特定的时间值来定义时间轴管理对象的关键点时间。在一个优选实施例中,时间轴管理对象的关键点是通过运动轨迹472来设定的。一个运动轨迹472或一个运动轨迹对象472是另一种不可见对象,每一个运动轨迹对象可以和一个时间轴管理的网页对象相对应。一个对象轨迹对象472可以“承载”其对应的网页对象的所有关键点,这个对应的网页对象即该运动轨迹对象472的“标记对象”。一个运动轨迹对象472可以通过工具面板42中的相应工具组件来添加,或者直接通过对象树来添加。在一个优选实施例中,一个运动轨迹对象472的父对象会自动被设定为其“标记对象”。图57描绘了一个编辑运动轨迹对象的例子,在这个例子中,一个运动轨迹对象472被激活后,会被显示在一个时间轴窗口47中。在步骤A1中,时间轴窗口47会首先显示一个时间坐标轴471,该时间轴坐标轴471的时间长度和上述运动轨迹对象所对应的时间轴管理对象的时间轴具有一样的长度,而运动轨迹472会以一个轴或直线的形式显示在时间坐标轴471之下。时间轴窗口47同时具有一个时间值输入框475,来显示运动轨迹472上的某个被选中的时间点的时间,如果没有运动轨迹472上没有任何时间点被选中,那么时间值输入框475会显示时间轴管理时间段的总市场,在这个例子中,是10秒;当用户选中运动轨迹472上的任意时间点之后,时间值输入框475便会显示该选中时间点的时间。时间轴窗口中还有一个播放按钮473和一个停止按钮474,这两个按钮用来在网页实例30的编辑模式中对时间轴进行预览播放和停止。当用户使用鼠标右键点击运动轨迹472上某个时间点时,如步骤A2所示,一个显示着“添加关键点”的菜单会显示出来,同时,被选中的时间点的时间会显示在时间值输入框475中,此时是0.799秒。随后,当用户选中“添加关键点”选项后,一个新的关键点会被添加在先前选中的时间位置上,如步骤A3所示。然后,当一个已经被创建的关键点,和该关键点的运动轨迹472所对应的网页对象的属性面板43会显示出来。注意,一个网页对象可能拥有多个运动轨迹472,只要这些轨迹上标记的关键的上网页对象的属性不会相互冲突即可。另一方面,一个时间轴管理的网页对象的运动轨迹472,可以同时排列显示在时间轴窗口中,来为用户提供一个概览。
作为本发明网页实例30中包含的一种网页对象,运动轨迹472也有用其属性面板,其属性面板的一个实施方式显示在图26中。其中,“类型”属性参数是指该运动轨迹对向在计算关键点之间的对象属性时,使用的插值算法类型。“开始显示”属性参数指是否在运动轨迹的第一个关键点之前,将其标记对象显示出来,如果选择“是”,则会显示,反之则不显示。类似的,“结束显示”指是否在运动轨迹的最后一个关键点之后,将其标记对象显示出来。
图58描述了时间轴控制对象2的过程,对象2具有两个关键点t1和t2。对象2在上述每一个关键点上,其属性都可以被单独设定。比如,对象2是一个图片对象的时候,其位置、大小、透明度、旋转角度这些属性都可以在这两个关键点上分别设定,另外,在t1之前和t2之后,对象2都被设定为不可见。当时间轴启动的时候,对象2会在t1时间点处按预先设定的属性开始显示出来。然后,对象2的属性会开始向t2时间点出预设的属性变化。由于运动轨迹上只有两个关键点,所以其间对象2的属性会通常以线性的插值算法来计算,这样对象2的属性会以线性的方式从关键点t1慢慢变化到关键点t2。图59中描述了对象2的属性在关键点t1和关键点t2之间变化的过程。即时间轴播放到t1点的时候,对象2的四个顶点分别在A0,B0,C0,C0点,而在时间t1到t2的过程中,对象2的四个顶点会以一个恒定的速度分别移动到A1,B1,C1,D1。
图60描述了时间轴对象控制对象3的可见性的情况。对象3在关键点t3和t4都是可见的,同时,对象3所有的其他属性在t3和t4上都是相同的。另外,在时间轴播放到t3之前,或t4之后,对象3都不显示出来。这样,当时间轴启动的时候,对象3开始不会显示,只有播放到时刻t3后才会显示,然后播放到时刻t4后又隐藏。
图61和图62共同描述了一个更复杂的时间轴控制实施例,其中对象4在4个关键点t5,t6,t7和t8上被控制。与图58和图59所描述的例子类似,对象4是一个图片对象,并在上述4个关键点上设定了该图片对象的大小和位置。这样,当时间轴开始播放的时候,到关键点t5的时刻,对象4的四个顶点会依次出现在A5,B5,C5和D5的位置,然后会在t6时刻分别移至A6,B6,C6,D6,在t7时刻分别移至A7,B7,C7,D7,然后最后在t7时刻分别移至A8,B8,C8和D8。与上文类似,在上述4个关键点之间时间段,对象4的位置和大小属性参数(或其四个顶点的位置坐标)会以一个插值算法来计算。优选的,这个插值算法能够保证对象4在整个时间段内的运动的平滑的。由于在此实施例中有4个关键点,所以所选择的插值算法通常不是线性的算法,这样,对象4在4个关键点之间的运动速度便不一定是恒定的。
除了上述实施例中提及的对象大小和位置,其他所有的时间轴管理对象的属性参数都能够在通过关键点来设定。比如,对象的旋转角度,背景颜色和透明度都可以通过关键点来设定,并通过插值算法来计算关键点之间的相应属性值。同时,时间轴管理的对象也可以是不可见对象,比如另一个时间轴对象,这时,一个时间轴能够触发另一个时间轴的播放。如图63的例子中所示,时间轴1控制了时间轴2的播放。首先,在网页实例30播放的过程中,时间轴1首先启动(步骤8001),然后,当时间轴1播放至其上某个特定的关键点时(步骤8002),时间轴2会启动播放。这个时间轴1触发时间轴2播放的过程,可以通过一个事件对象来实现,即该事件对象的触发对象是时间轴1,触发条件是时间轴1播放至了某个关键点时刻,目标对象是时间轴2,目标对象动作是“开始播放”(步骤8003)。有关事件对象使用方法的更详细的介绍将在后文中给出。
在另一个实施例中,时间轴不仅可以用来控制管理对象播放的过程,也可以执行“跳转时间点”的功能,即跳转到时间轴上任意一个时刻,跳转之后,时间轴的管理对象会安装该被跳转时刻上的属性进行播放。“跳转时间点”功能通常是在一个网页实例30的播放过程中,通过一个事件来触发的,这样,通过这个跳转时间点的功能,时间轴可以通过一系列预设的事件来控制播放,而不仅仅是简单的从头到尾播放。
在跳转时间点功能的一个实施方式中,只有关键点上标记的时间轴管理对象的属性才会被播放/显示出来。比如,一个时间轴对象只有一个管理对象,其是一个图片对象,这个图片对象在时间轴的管理时间段内有3个关键点,分别标记了其三个播放状态,即播放状态1,播放状态2,播放状态3。当该时间轴所在的网页实例30播放的时候,如果跳转时间点功能被触发,那么上述被管理的图片对象仅可能显示三种播放状态:播放状态1,播放状态和播放状态3,在每个播放状态下,该图片都会显示成为一个静态的图片,而这三个播放状态的切换则是通过事件来控制的。比如,在时间轴开始播放时,用户可以点击同一网页实例30中的另外两张分别显示“上一个”和“下一个”的图片,来对上述被管理的图片对象在三个播放状态间进行切换,比如,点击了“下一个”之后,被管理的图片对象会切换显示下一个播放状态,比如从播放状态1切换至播放状态2,或从播放状态2切换到播放状态3。或者,可以在网页实例中显示3个分别显示“1”,“2”,”3”的按钮,用户可以点击这三个按钮来将被管理的图片对象切换到相应的播放状态。在另一个跳转时间点功能的实施例中,除了在关键点上,管理对象在整个时间轴管理时间段上的属性状态都会被播放出来。用户可以设定在网页实例30的播放过程中,是否需要播放两个跳转的关键点之间的管理对象属性,如果选择是,那么当时间轴跳转到某个关键点时,管理对象在当前时间点和跳转的目标关键点之间的属性状态都会进行播放,这些关键点之间的属性状态是通过上述插值算法来计算得到的。
根据跳转时间点功能的可以有多种不同的实现方式。在本发明一个优选实施例中,跳转时间点功能有两种实现方式,即“跳转至下一关键点”和“跳转至下一对象”。这两种实现方式都是跳转到时间轴上“下一个”关键点,但对“下一个”的定义有所不同。首先,需要注意的是由于每个关键点都是时间轴上的某个时间点,其都具有一个特定的时间值t,其中0≤t≤T,T即时间轴的管理时间段时长。在有多个关键点的情况下,这些关键点可以按照时间t从小到大来排列成一个序列。在这个关键点序列中,某个关键点的“下一个”关键点即在该序列中紧挨着该关键点的并且拥有更大的时间值t的关键点。在网页实例30的播放过程中,“跳转至下一个关键点”的功能即会从当前关键点跳转至时间轴管理的所有对象的的关键点中的“下一个”关键点,而“跳转至下一个对象”功能则会从当前关键点跳转至同一管理对象上的“下一个”关键点。无论是哪种实现方式,当前关键点都是只时间轴当前状态停留的关键点,同时,由于“跳转至下一个关键点”和“跳转至下一个对象”两个功能通常会被不停的使用,来在时间轴下不同关键点之间进行切换,因此“当前关键点”也会随着关键点的不断切换而改变。另外,时间轴也可以在没有任何跳转时间点功能被调用的情况下,预设一个默认的“当前关键点”,如时间轴下第一个关键点。上述两种跳至关键点的实现方式在图64中进行了详细的描述。在图64的例子中展示了一个时间轴管理的4个对象P1,P2,P3,P4,每个对象对应一个运动轨迹,每个运动轨迹上都有相应的关键点:K1对应于管理对象P1,K2和K3对应于管理对象P2,K4和K5对应于管理对象P3,K6,K7和K8对应于管理对象P4。在网页实例30的播放过程中,时间轴启动的时候会从“0”秒开始播放,如图64所示。此时,如果“跳转至下一个关键点”功能被连续执行的话,那么被跳转至的关键点的顺序从前往后会排列为:K2,K3,K1,K6,K7,K8,K4,K5;而如果“跳转至下一个对象”功能被连续执行,那么被跳转至的关键点的顺序从前往后会排列为:K1,K2,K3,K4,K5,K6,K7,K8。
除了跳转时间点功能,时间轴也可以执行其他的功能,比如设置属性,播放,重新播放,暂停,跳转至上一个轨迹和跳转至下一个轨迹。这些功能的详细含义如下表:
事件对象的是本发明网页实例30中的另一种不可见对象,其负责在网页实例30的播放过程中,实现不同网页对象之间的交互关系。总体来说,一个事件对象由四个元素组成:触发对象,触发条件,目标对象和目标对象动作。在网页实例30的播放过程中,当触发对象的某个触发条件被满足的时候,目标对象就会执行预定的目标对象动作。换一句话来说,当一个事件的触发对象的触发条件满足的时候,该事件就会被触发,事件触发后,该事件的目标对象就会执行目标对象动作。
事件的触发对象和目标对象可以是可见或不可见对象,同时,触发对象和目标对象也可以是同一个网页对象。比如,点击一个图片对象的时候,它自己会消失。
事件的触发条件是在网页实例30的播放过程中,发生在触发对象上的一个事件,当触发条件发生的时候,该事件对象的目标对象就会执行目标对象动作。比如,一个事件的触发条件可以是用鼠标点击一个触发对象,或者使用键盘按下某个按键。一个类型的触发对象可以支持各种不同的触发条件,通常不同类型的触发条件会拥有不同的触发条件组合。
事件的目标动作是网页实例30播放时,一个事件触发后,其目标对象会执行的预设功能。每个种类的目标对象会有一些列不同的可执行的功能。值得注意的是,在有些目标对象动作中,用户需要设定执行这些动作的特定的参数值,比如,在“设定属性”动作中,目标对象可以改变其部分对象属性,因此,用户需要预先设定那些属性需要改变成具体什么属性值。
在一个网页实例30中,一个触发对象可能拥有多个触发条件,每个触发条件会对应一个或多个目标对象的一个或多个目标对象动作。比如,在网页实例30播放时,无论是鼠标单击或双击一个图片对象,都会导致一个音频对象暂停,并且同时导致一个视频对象显示出来,并开始播放。
为了需要在一个网页实例30中使用事件,编辑引擎10需要首先创建一个事件对象。图65描述了本发明一个优选实施例中创建一个事件对象的过程。首先,在步骤9001中,编辑引擎10被加载,同时编辑界面40被展示出来,其中工具面板42上具有一个事件工具组件。在步骤9002中,编辑引擎10获取当前网页实例30中的当前选中对象,并将该对象设置成为任何即将新建的网页对象的父对象。(当前选中对象的概念在上文有关对象树的介绍中有详细的描述。)在步骤9003中,编辑引擎10的操作界面模块会检测是否在工具面板42中存在一个创建事件对象的用户操作,如果是,则执行步骤9004,如果否,则编辑引擎10进一步等待下一步的操作指令。在步骤9004中,一个事件对象会被创建成为网页实例30中当前选中对象的子对象,优选的,在对象树451中,一个代表上述新创建的事件对象的对象节点也会被创建,其将成为当前选中节点(即代表当前选中对象的节点)的子节点。在步骤9005中,事件对象的各项属性参数能够在其对应的属性面板43中被设定(事件对象属性参数的设定方法会在后文中进行详细阐述)。当网页实例30中各种不同的网页对象的属性被设定完成之后(步骤9006),一个资源描述文件32会由编辑引擎10的资源描述文件生成模块生成出来。
对于每一个事件对象,编辑引擎10都需要设定其触发对象、触发条件、目标对象和目标对象动作,以让其能够正常的发挥功能。对于编辑引擎10来说,有许多办法可以来设定事件的这四个属性参数的具体参数值。在本发明的一个优选实施例中,用户可以通过编辑界面40来设定事件的四个属性参数。在一个实施例中,事件的触发对象是通过网页对象之间的父子对象关系来设定的,即一个事件对象的父对象会自动设置成为该事件对象的触发对象。如图66所示,网页对象的父子对象关系由对象树来描述,其中共有3个事件对象,即对象A的事件1,对象A的事件2,以及对象B的事件1。对象A的事件1和对象A的事件2都是以对象A作为父对象的,因此对象A即成为了对象A的事件1和对象A的事件2的触发对象,换一句话来说,对象A下“附着”了两个事件。类似的,对象B是对象B的事件1的触发对象。
当一个事件对象的触发对象被决定之后,其他三个事件对象的属性参数可以通过属性面板43来决定。如图67所示,在本发明的一个实施例中,事件对象的属性面板43上具有三个属性参数,每个属性参数都具有一个下拉菜单选择框,来让用户选择一个特定的属性参数值。图68是一个更详细的例子。如对象树中所示,事件对象1的触发对象是其父对象图片对象1,而图片对象1进一步是时间轴对象1的子对象,时间轴对象1即是对象树跟节点对象节点1的子对象。当事件对象1被选中的时候(用户通常可以通过选中对象树中事件对象1所对应的节点来选中事件对象1),其对应的属性面板43会被显示出来,其中包括三个属性参数,即触发条件(显示为event),目标对象(显示为target)和目标对象动作(显示为func),这三个属性参数的参数值都可以从下拉菜单中进行选择。图中的属性面板43显示了该事件的触发条件为“点击”,目标对象为“节点1”(节点1在此例子中代表了编辑舞台44),然后目标对象动作选择为了“设置属性”。在网页实例30播放时,“设置属性”目标对象动作会让目标对象在事件触发后将其属性改变为一系列预先设定的属性。在一个优选实施例中,如图69所示,当“设置属性”目标对象动作被选中后,目标对象所有的属性参数431会以及相应的数据输入框会在事件对象的属性面板43中显示出来,然后用户可以任意设定目标对象在事件触发后的属性参数值。如图70所示,上述例子中的目标对象编辑舞台44的属性被设置成为了宽500,高375,背景颜色为黑色,排列位置在上端,X和Y轴的偏移值分别为100,这样,当网页实例30播放时,用户点击图片1后,会导致编辑舞台44的属性调整为上述设定的属性。
上述例子指示描述了本发明中设定事件属性参数的一个方法,其他方法也可以用来设定事件的属性。比如,编辑引擎10中可以进行设置,让一个事件对象的父对象自动成为该事件对象的目标对象,然后该事件对象的触发对象,触发条件和目标对象动作可以通过其属性面板43来进一步设定;或者,也可以设置成一个事件对象的四个属性全部通过事件的属性面板43来设定。
图71描述了一个优选实施例中事件对象在网页实例30播放过程中的工作流程。首先网页浏览器34访问一个包含了网页实例30的URL地址(步骤A1001),然后播放引擎20和资源描述文件32会被自动下载(步骤A1002),播放引擎20随后会被加载和运行,并对资源描述文件32进行解析,并按资源描述文件32中的指示下载网页实例30中网页对象对应的资源文件31。随后,播放引擎20会检测是否网页实例30中的某个事件对象被触发(步骤A1003),(事件对象被触发即是否某个事件对象的触发对象的触发条件被满足了),如果是,那么下一个步骤A1004会被执行,如果不是,那么播放引擎20会进一步等待事件对象的触发。在步骤A1004中,播放引擎20会随后发送一个信息给已触发的事件对象的目标对象,在步骤A1005中,上述目标对象会根据资源描述文件32中的指示来执行一个特定的目标对象动作。
在一个优选实施例中,上述事件对象的工作过程涉及到播放引擎20中一个通信模块22的参与。如图72所示,通信模块22会首先通过资源描述文件解析模块212获得所有网页实例30中包含的事件对象的信息,其中,资源描述文件解析模块能够解析网页实例30所对应的资源描述文件32。当获取所有事件信息之后,通信模块22随后会接收到所有网页对象的播放状态,这些播放状态或者通过网页对象本身发送至通信模块,或通过一个独立的监听模块来发送(未显示在图中)。然后,通信模块22会将接收到的网页对象的播放状态和从资源描述文件解析模块212处获得的事件对象的触发对象和触发条件进行比对,如果其中一个对象的播放状态满足了某个事件触发对象的触发条件,那么通信模块22会向该事件的目标对象发送一个指令,指示其执行预先设定的目标对象动作。
屏幕对象是本发明网页实例30中的一种容器对象。根据一个优选实例,本发明的容器对象包括屏幕对象,页面对象和层对象,这些都是用来管理其他对象显示的不可见对象。在网页实例30的播放过程中,页面对象和层对象会在一个网页浏览器34中呈现为“页面”和“层”。而屏幕对象则可以夸浏览器呈现,这些浏览器可以是在一个客户端设备上,或这在多个客户端设备上的浏览器。当一个网页实例30中具有多个屏幕对象的时候,网页实例30中的其他非屏幕对象会根据其所属的屏幕来分组显示,在一个优选实施例中,任何屏幕对象的子对象都是属于这个屏幕对象的网页对象。在网页实例30的播放过程中,不同屏幕对象中的网页对象会在不同的网页浏览器34或“屏幕”中显示出来,与此同时,属于不同屏幕对象的网页对象之间依然可以具有交互关系。这样,屏幕对象即可以实现网页对象的夸屏交互,比如,当点击呈现在一个网页浏览器中的图片对象的时候,会导致另一个网页浏览器中的视频对象开始播放。
图73描述了一个优选实例中,屏幕对象的工作系统。这个系统由一个通信服务器70,两个客户端设备(客户端设备A和客户端设备B),以及其上的两个网页浏览器(网页浏览器A和网页浏览器B)组成,每个网页浏览器上会加载一个屏幕对象(未在图73中显示)。当一个具有两个屏幕对象(屏幕对象A和屏幕对象B,未显示在图中)的网页实例30被创建的时候,编辑引擎10会同时生成两个独立的资源描述文件,即资源描述文件A和资源描述文件B,分别来描述屏幕A和屏幕B中的网页对象的播放播放,同时,两个屏幕所对应的单独的分享代码(分享代码A和分享代码B,未显示在图73中)会进一步生成,分享代码中会指示网页浏览器下载播放引擎20,和一个相应的资源描述文件32(分享代码A中指示下载资源描述文件A,分享代码B中指示下载资源描述文件B)。随后,一个网页浏览器A和一个网页浏览器B会分别访问嵌入有分享代码A和分享代码B的网页。网页浏览器A随后按分享代码A的指示下载播放引擎20和资源描述文件A,而网页浏览器B则下载播放引擎20和资源描述文件B。其中,两个网页浏览器下载的播放引擎20是相同的。然后,两个网页浏览器中会分别安装播放引擎20,并根据相应的资源描述文件32来播放网页实例30。这样,如图74所示,网页浏览器A会按资源描述文件A来播放屏幕A中内容,而网页浏览器B会按资源描述文件B来播放屏幕B中内容。这两个屏幕中的网页对象的交互过程是通过通信服务器70来实现的。当网页浏览器A和网页浏览器B分别分析了其访问的网页中的分享代码后,这两个浏览器会分别向通信服务器70发送一个讯息来在通信服务器70上进行注册。当夸浏览器的网页对象交互发生的时候,两个浏览器中的播放引擎20中的通信模块(未显示在图中)会和通信服务器70共同协作来完成交互任务。比如,当网页实例30中屏幕对象A中的一个事件对象被触发后,其目标对象是在屏幕对象B中的,那么当上述事件的触发对象的触发条件满足后,浏览器A的播放引擎20中的通信模块(图中未显示)会向通信服务器70发送一个讯息来指示屏幕B中的相应目标对象来执行目标对象动作。这个讯息会随后被传递到浏览器B的播放引擎20中的通信模块(图中未显示),此通信模块便会指示相应的目标对象来执行目标对象动作。这个网页对象交互过程的实现方法,和同一浏览器中网页实例30中网页对象的交互过程实现方法类似,只是在同一浏览器/屏幕中的网页对象交互过程中,播放引擎20的通信模块可以在一个事件触发后,直接将指令发送给事件的目标对象,而不需要通过通信服务器70。
对于拥有超过两个屏幕对象的网页实例30,其播放系统和上述两个屏幕对象的播放系统类似,只是会包含更多的客户端设备和网页浏览器,来对应于更多个网页实例30中的屏幕对象。
图75和图76描述了一个更详细的屏幕对象的应用实例,在这个网页实例30中包含两个屏幕对象,屏幕1和屏幕2。如图75中的对象树所示,在根节点“节点1”下有两个屏幕对象节点“屏幕1”和“屏幕2”。屏幕1进一步包含一个子节点“按钮1”,其是一个按钮形状的图片对象,而”按钮1”进一步拥有一个子对象“事件1”,其属性面板43如图75所示;图75中的属性面板43显示了“事件1”的触发条件是“点击”,目标对象是根节点“节点1”下“屏幕2”中的“视频2”,而目标对象动作是“播放”,即事件触发后,目标视频对象会开始播放。现在来看图76,图76描述了对象“视频2”的属性面板43,其属性参数“自动播放”设置成为了“否”,代表该视频对象在网页实例30加载出来的时候并不会自动开始播放。这样,当图75和图76所描述的网页实例30开始播放的时候,两个浏览器窗口会分别加载屏幕1和屏幕2,屏幕1中会显示上述图片按钮,而屏幕2中会显示一个暂停状态的视频,当屏幕1中的图片按钮被点击的时候,屏幕2中的视频会开始播放。上述两个浏览器可以在同一个客户端设备上运行,或在两个不同的客户端设备上运行。
本发明网页实例的编辑和播放系统同时提供了一个商业方法。如图77所示,编辑引擎所在的服务平台60进一步包含一个开发者平台61和一个用户平台62。开发者平台61为公众开发者提供了在本发明核心编辑系统的基础上创建各种网页应用或工具组件的接口(API,ApplicationProgrammingInterface)。用户平台62提供了一个工具应用选择界面621,来让用户从开发者平台61上选择需要的工具应用,用户平台62同时提供了一个工具应用运行环境622来运行上述用户选择的工具应用。优选的,所有开发者平台61上提供的工具应用可以远程的通过浏览器来访问和使用,而工具应用运行环境622也提供了运行这些网页工具应用的环境。
第三方开发者在开发者平台61上开发的工具应用可以是不同种类的工具,比如说,一个开发者可以开发一个创建一种新的网页对象的工具组件,或者一个可以在工具应用运行环境622中运行小游戏应用,或者一个用来管理不同终端上网页对象通信的小工具。开发者平台61上产生的所有的工具应用都会被显示在用户平台62的工具应用选择界面621中,当用户登陆了其在用户平台62上的账户后,其可以选择任何需要的工具应用,这些工具应用可以是免费提供或者付费提供的。然后,用户选择的工具应用会以一个组件图标6222的形式出现在一个组件面板6221中。当用户激活其中一个工具应用后(比如通过鼠标点击或键盘按键),这个被激活的工具应用会在工具应用运行环境622中进行加载来供用户使用。在图78所示的例子中,用户选择了工具应用选择界面621中的组件P2和组件P9,然后,在工具应用运行环境622中的组件面板6221中会出现两个代表组件P2和组件P9的组件图标6222。
在用户平台62中,每一个用户都有一个用户ID,来对应于一个独立的用户账户,每个用户账户进一步对应一些列用户选择的工具应用。如果某些工具应用是收费的,那么用户需要为其支付费用,该费用会在该工具应用的开发者和服务平台60的运营方来分享。
值得注意的是,工具应用运行环境622中的组件面板622和前文所述编辑引擎10的工具面板42类似。工具应用运行环境622可以被理解成为一个编辑引擎10的升级版本,而工具应用运行环境622在编辑引擎10的基础上提供了除了编辑一个网页实例30之外的额外的功能。同时,由开发者平台61产生的工具应用和工具面板42中提供的工具组件类似。在开发者平台61上产生的工具应用可以是某些类型的编辑工具,或其他类型的应用,比如游戏应用。这样,工具应用运行环境622将编辑引擎10的应用范围扩大了,并将编辑引擎10的开发接口向大众开发者开放,但依旧保持了编辑引擎10的基本功能。换一句话来说,所有上述工具应用是在本发明编辑引擎的核心系统的基础上开发的,并在一个特定的环境中运行,(无论是编辑引擎环境还是工具应用运行环境622),然后在组件面板6221上显示成为组件图标6222。同时,本发明中编辑引擎的核心系统可以根据新的应用开发需求来改变。上述组件面板6221不一定要以一个面板的形式来显示,而是可以显示成各种不同的形式,比如菜单形式。
如图79和图48所示,编辑引擎10可以生成一个移动设备的移动应用APP。编辑引擎10首先生成一个可以通过一个URL地址来访问的网页实例30,然后进一步生成一个和该网页实例30对应的移动应用(比如在一个智能手机或一个平板电脑上的应用)。当上述移动应用被激活的时候,其会自动打开一个网页浏览器来访问上述网页实例30对应的URL地址。这样,通过本发明的编辑引擎10可以直接生成一个在移动设备操作系统(如ios和android系统)上运行的移动应用,而不需要额外编写程序。比如,如图79所示,APPA和APPB是对应于两个网页实例30的移动应用,这两个应用会分别以“A”和“B”两个图标的形式显示在移动设备的屏幕上,和其他传统的移动设备上的应用完全一样。这种直接链接到网页实例的移动应用会接下来被称为“网页实例应用”。
上述网页实例应用可以直接在移动设备的用户操作界面上显示为图标,也可以被封装到一个母应用中,当这个母应用被激活的时候,其中包含的子网页实例应用便会被呈现出来。如图80所示,“APP4”是一个上述母应用,其中包含了“FUN1”,“FUN2”,“FUN3”和“FUN4”四个子网页实例应用,当“APP4”被激活的时候,其中包含的“FUN1”,“FUN2”,“FUN3”和“FUN4”子网页实例应用便会被呈现出来。如果有一个新生成的网页实例应用“FUNA”,那么它可以进一步被添加到母应用“APP4”中,如图80所示。
一个母应用可以被理解成为其包含的子网页实例应用的“文件夹”,同时,母应用也可以提供远程同步子网页实例应用的功能。首先,每一个安装在移动设备上的母应用会和远程应用服务器中的一个用户账户向对应,上述应用服务器可以是本发明中的编辑服务器,也可以是其他任意一个能够提供下述功能的服务器。应用服务器会将每个母应用所对应的子网页实例应用信息储存在一个相应的用户账户中,并保证在用户的移动设备中安装的母应用里呈现的子网页实例应用和应用服务器中用户账户里的子网页实例应用信息相一致。每个用户都拥有一个唯一的用户账户,用户可以访问他的用户账户来管理在他的母应用中需要加载的子网页实例应用,他可以添加或删除其账户上的子网页实例应用,任何用户在用户账户上的修改都会同步到他移动设备上安装的母应用中去。
一个移动设备上安装的母应用也可以在没有用户指令的情况下,通过应用服务器的指令自动的下载或删除子网页实例应用。比如,当一个用户进入一家特定的餐馆的时候,其移动设备上的母应用会自动将用户目前的位置信息发送至远程的应用服务器。(母应用可以设置成每个一定时间自动向远程服务器发送信息,用户的位置信息可以通过移动设备的位置模块如GPS模块来获取)。远程应用服务器随后检测到该位置信息和某个特定的餐馆相对应,这样,应用服务器会自动在该用户账户中添加一个与该参观相关的子网页实例应用,这样,用户移动设备上的母应用便会自动和应用服务器进行同步并下载该餐馆相关的子网页实例应用。类似的,当用户离开该餐馆的时候,一旦母应用向应用服务器发送了一个新的位置信息并且该位置已经和餐馆所对应的位置不一致,远程应用服务器便会从用户账户中删除该餐馆的子网页实例应用,这样,当母应用和应用服务器同步之后,移动设备上的母应用中的该餐馆的子网页实例应用也会消失。应用服务器可以有多种方式来控制一个用户账户中子网页实例应用的添加和删除,比如,应用服务器可以自动在圣诞节的时候向用户账户中添加一个“圣诞节”子网页实例应用,并且在圣诞节过去之后,自动将其删除。
值得一提的是,一个用户账户下,可能拥有多个母应用,而用户可以管理每一个母应用中包含的子网页实例应用。
图87描述了本发明媒体编辑和播放系统的一个优选实施方式。该媒体编辑和播放系统提供了一种媒体结构。这个媒体结构即VXPLO媒体30A。VXPLO媒体30A至少包含一个交互媒体元素39A。上述交互媒体元素39A具备一系列的属性,每一种不同类型的交互媒体元素39A具有不同的属性系列。通过设置每一个交互媒体元素39A的属性,可以设置这些交互媒体元素39A之间的交互关系。上述VXPLO媒体进一步包含一个记录装置32A来记录所有交互媒体元素39A的属性与交互关系。上述交互媒体元素39A包括两种类型,即内容元素391A和功能元素392A。内容元素391A承载着媒体素材内容,而功能元素392A用来管理和控制内容元素391A的播放过程和交互关系。上述内容元素391A可以进一步是各种不同类型的元素,比如图片元素3911A,视频元素3912A,动画元素3913A,文本元素3914A,和html元素3915A。功能元素392A可以是一个控制元素3921A来控制内容元素391A的播放过程和交互关系,也可以是一个容器元素3922A来设定内容元素391A显示范围和分组情况。控制元素3921A可以进一步为一个时间轴元素39211A,来控制其他交互媒体元素39A在一段时间内的播放过程。控制元素3921A也可以是一个事件元素39212A,来实现VXPLO媒体中不同交互媒体元素39A之间的交互关系。控制元素3921A还可以是一个运动轨迹元素39213A,来协助一个时间轴元素39211A设定其他交互媒体元素39A在时间轴上各项属性的变化过程。容器元素3922A可以是一个屏幕元素39221A,一个页面元素39222A或者一个层元素39223A。上述VXPLO媒体是一个有机的整合媒体,其中不同内容元素391A能够相互之间进行交互。
在一个优选实施例中,一个VXPLO媒体30A是一个网页实例30;内容元素391A是一个可见对象,功能元素392A是一个不可见对象;图片元素3911A是一个图片对象;视频元素3912A是一个视频对象;动画元素3913A是一个动画对象;文本元素3914A是一个文本对象;html元素3915A是一个html对象;控制元素3921A是一个控制对象;容器元素3922A是一个容器对象;时间轴元素39211A是一个时间轴对象;事件元素39212A是一个事件对象;运动轨迹元素39213A是一个运动轨迹对象;屏幕元素39221A是一个屏幕对象;页面元素39222A是一个页面对象;层元素39223A是一个层对象;记录装置32A是一个资源描述文件32。编辑引擎10和/或播放引擎20能够在一个运行载体34A的基础上运行,在一个优选实施例中,该运行载体34A是一个网页浏览器34。
编辑引擎10能够编辑一个VXPLO媒体30A。当资源文件31被加载的时候,编辑引擎10能够识别资源文件31的类型,并根据资源文件31的类型来创建一个内容元素391A。上述内容元素391A可以通过编辑引擎10来进行编辑。比如,一个图片文件被编辑引擎10所加载的时候,编辑引擎10能够识别该图片文件的类型,并相应的创建一个图片元素3911A,然后进一步的编辑该图片元素3911A的属性。编辑引擎10还能够创建能够控制图片元素3911A的控制元素3921A,该控制过程可以通过编辑上述控制元素3912A的属性来设置。在编辑过程完成之后,编辑引擎10能够进一步创建一个记录装置32A来记录所有交互媒体元素39A的属性和交互关系。值得一提的是,记录装置32A中记录了获取所有资源文件31的地址或URL链接。同时,编辑引擎10还会生成一个指示装置35A来对编辑完成的VXPLO媒体进行分享。在一个优选实例中,上述指示装置35A即分享代码35。指示装置35A能够指示网页浏览器来获取记录装置32A和资源文件31A。
一个内容元素391A具备一些的显示属性,包括但不限于以下项目中的一项或多项:一个指定该内容元素391A对应的资源文件的URL链接,该内容元素391A的位置、宽度、高度、背景颜色、透明度、旋转角度、可见性、文本内容、文本字体、填充颜色、线条宽度、线条颜色。
相应的,一个可见对象391也具备一系列的显示属性,包括但不限于以下项目中的一项或多项:一个指定该可见对象391对应的资源文件的URL链接,该可见对象391的位置、宽度、高度、背景颜色、透明度、旋转角度、可见性、文本内容、文本字体、填充颜色、线条宽度、线条颜色。
如图81-89所示,本发明中编辑和播放引系统包含一个编辑引擎10和播放引擎20。编辑引擎10可以编辑一个VXPLO媒体,播放引擎20可以播放VXPLO媒体。编辑引擎10能够编辑资源文件31,并生成一个记录装置32A。编辑引擎10会进一步生成一个指示装置来指示获取播放引擎20和记录装置32A的位置。播放引擎20会进一步获取记录装置32A,并解析记录装置32A来获取资源文件31。
编辑引擎10具有一个编辑模块11和一个记录装置生成模块113A,该记录装置生成模块113A用来生成一个记录装置。播放引擎20包括一个播放模块21和一个记录装置解析模块212来解析一个记录装置32A。本发明中的VXPLO媒体可以并嵌入到一个网页中。当一个网页文件被下载之后(步骤2001A),网页文件会被解析,并进一步下载播放引擎20和记录装置32A(步骤2002A)。下载完成播放引擎20和记录装置32A后,播放引擎20会解析记录装置32A,并根据记录装置32A中的信息创建一系列交互媒体元素39A并执行这些交互媒体元素39A的相应操作(步骤2003A)。
图88描述了本发明一个实施例中,一个事件元素的工作流程,包括:
步骤A1001’:访问一个包含有事件元素的VXPLO媒体的URL地址。
步骤A1002’:下载播放引擎20和记录装置32A,并且解析记录装置32A。
步骤A1003’:检测是否某个事件元素的触发对象的触发条件被满足,如果是,那么进入步骤A1004’,如果不是,那么等待下一步指示。
步骤A1004’:向事件元素的目标对象发送一个指令。
步骤A1005’:执行记录装置32A中记录的上述事件元素目标对象的相应目标对象动作。
如图89所示,播放引擎20的通信模块22会首先从记录装置解析模块212A处获取VXPLO媒体中包含的所有事件元素39212A的信息。上述记录装置解析模块212A可以解析记录装置32A。获取事件元素的信息之后,通信模块22会随后获取所有交互媒体元素39A的播放状态,该播放状态可以由交互媒体元素39A自身发送,也可以通过一个独立的监听模块(未在图中显示)来发送,该监听模块可以监听所有VXPLO媒体中的交互媒体元素的播放状态。通信模块22随后将获取到的交互媒体元素的播放状态和接收到的事件元素的触发对象和触发条件进行匹配,如果某个事件的触发对象的触发条件和一个交互媒体元素的播放状态匹配,那么通信模块会向事件元素的目标对象发送一个指令,指示其执行预设的目标对象动作。

Claims (17)

1.一种创建VXPLO媒体的方法,其特征在于,由以下步骤组成:
a)创建至少一个交互媒体元素,所述交互媒体元素的种类进一步包括内容元素和功能元素;
所述每一个内容元素都对应一个具有媒体内容的素材文件;
b)编辑所述每个交互媒体元素的多个属性。
2.如权利要求1所述创建一个VXPLO媒体的方法,还包括以下步骤:
c)将所述交互媒体元素的属性记录到一个记录装置中。
3.如权利要求1所述创建一个VXPLO媒体的方法中,所述交互媒体元素可以被一个网页浏览器所播放,所述网页浏览器可以在一个智能计算设备上运行。
4.如权利要求1所述的创建一个VXPLO媒体的方法中,所述交互媒体元素是网页对象,所述网页对象的类型包括可见对象和不可见对象。
5.如权利要求4所述的创建一个VXPLO媒体的方法中,所述网页对象的类型包括但不限于以下几种:图片对象,视频对象,音频对象,flash对象,html对象,文本对象,图片序列对象,文件对象,时间轴对象,运动轨迹对象,事件对象,计数器对象,页面对象,层对象和屏幕对象。
6.如权利要求4所述的创建一个VXPLO媒体的方法中,所述网页对象的属性包括但不限于以下几种:可见对象的可见属性,可见对象可见属性在一段时间内的变化方式,同一个VXPLO媒体中不同网页对象间的交互关系,以及网页对象和VXPLO媒体观众的用户操作之间的交互关系。
7.如权利要求6所述的创建一个VXPLO媒体的方法中,所述可见对象的可见属性包括但不限于以下几种:一个指示了所述可见对象对应的资源文件的URL地址,所述可见对象的位置,所述可见对象的宽度,所述可见对象的高度,所述可见对象的背景颜色,所述可见对象的透明度,所述可见对象的旋转角度,所述可见对象的可见性,所述可见对象的文本内容,所述可见对象的文本字体,所述可见对象的填充颜色,所述可见对象的线条宽度和所述可见对象的线条颜色。
8.如权利要求6所述的创建一个VXPLO媒体的方法中,所述可见对象可见属性在一段时间内的变化方式是通过所述VXPLO媒体中的不可见对象的属性来编辑和记录的。
9.如权利要求6所述的创建一个VXPLO媒体的方法中,所述同一个VXPLO媒体中不同网页对象间的交互关系,以及所述网页对象和VXPLO媒体观众的用户操作之间的交互关系是通过所述VXPLO媒体中的不可见对象的属性来编辑和记录的。
10.如权利要求6所述的创建一个VXPLO媒体的方法中,所述网页对象之间的交互关系包括了一个所述网页对象的属性变化来控制另一个所述网页对象的属性。
11.如权利要求6所述的创建一个VXPLO媒体的方法中,所述网页对象和VXPLO媒体观众的用户操作之间的交互关系包括但不限于以下几种:鼠标操作,触碰操作,键盘操作,通过传感器传递的移动设备的物理操作。
12.一种播放VXPLO媒体的方法,其特征在于:
a1)创建所述VXPLO媒体中的所有交互媒体元素,所述交互媒体元素的种类进一步包括内容元素和功能元素;所述每一个内容元素都对应一个具有媒体内容的素材文件;
a2)根据所述交互媒体元素的属性播放所述交互媒体元素。
13.如权利要求12所述的一种播放VXPLO媒体的方法,其中步骤a1)进一步包括以下步骤:
a1.1)获取一个记录着所述交互媒体元素属性的记录装置。
14.如权利要求13所述的一种播放VXPLO媒体的方法,其中步骤a1)进一步包括以下步骤:
a1.2)获取所述VXPLO媒体中包含的所述内容元素对应的资源文件。
15.如权利要求14所述的一种播放VXPLO媒体的方法中,所述同一个VXPLO媒体中的不同内容元素所对应的资源文件是从不同的地址获得的。
16.如权利要求13所述的一种播放VXPLO媒体的方法,其中在步骤a1)之前,进一步包括以下步骤:获取一个播放引擎,所述播放引擎用来解析所述记录装置、创建所有所述交互媒体元素并根据所述记录装置中记录的所述交互媒体元素的属性来播放所述交互媒体元素。
17.如权利要求16所述的一种播放VXPLO媒体的方法中,所述获取播放引擎的方法是记录在所述VXPLO媒体的一个指示装置中的。所述指示装置是一串能够记录获取所述播放引擎方法的计算机程序指令或程序代码。
CN201510425444.4A 2014-07-16 2015-07-14 一种媒体编辑和播放的方法及其系统 Pending CN105279222A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510425444.4A CN105279222A (zh) 2014-07-16 2015-07-14 一种媒体编辑和播放的方法及其系统

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN2014103389153 2014-07-16
US14/333,474 US20150026573A1 (en) 2013-07-16 2014-07-16 Media Editing and Playing System and Method Thereof
US14333474 2014-07-16
CN201410338915 2014-07-16
CN201510425444.4A CN105279222A (zh) 2014-07-16 2015-07-14 一种媒体编辑和播放的方法及其系统

Publications (1)

Publication Number Publication Date
CN105279222A true CN105279222A (zh) 2016-01-27

Family

ID=55148236

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510425444.4A Pending CN105279222A (zh) 2014-07-16 2015-07-14 一种媒体编辑和播放的方法及其系统

Country Status (1)

Country Link
CN (1) CN105279222A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108769820A (zh) * 2018-07-09 2018-11-06 北京酷我科技有限公司 一种视频播放所有者的管理方法
CN108882039A (zh) * 2018-07-09 2018-11-23 北京酷我科技有限公司 一种视频播放所有者的切换控制方法
CN108900913A (zh) * 2018-07-09 2018-11-27 北京酷我科技有限公司 一种基于视频播放所有者的分级视图控制方法
CN108900914A (zh) * 2018-07-09 2018-11-27 北京酷我科技有限公司 一种基于视频播放所有者的视图控制方法
CN109948546A (zh) * 2019-03-20 2019-06-28 四川长虹电器股份有限公司 媒体播放交互控制系统及方法
CN112565812A (zh) * 2019-09-26 2021-03-26 西安诺瓦星云科技股份有限公司 节目编辑方法和装置
CN112559278A (zh) * 2019-09-25 2021-03-26 腾讯科技(深圳)有限公司 操作数据的获取方法和装置
CN112667235A (zh) * 2020-12-24 2021-04-16 北京像素软件科技股份有限公司 可视化布局编辑实现方法、装置和电子设备
CN113485968A (zh) * 2021-08-02 2021-10-08 安徽文香科技有限公司 一种基于时间线的编辑方法、装置、设备及存储介质
CN113485968B (zh) * 2021-08-02 2024-06-07 安徽文香科技股份有限公司 一种基于时间线的编辑方法、装置、设备及存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
动点科技: "[ChinaBang 2014] 创造互动内容的在线设计工具 VXPLO ,不需要写代码即可解放想象力", 《HTTPS://CN.TECHNODE.COM/POST/2014-03-31/CHINABANG-2014-ONLINE-DESIGN-TOOL-VXPLO-UNLASHES-IMAGINATIONS-CRATING-INTERACTIVE-CONTENTS-WITHOUT-CODING/》 *
匿名: "VXPLO简介", 《腾讯视频》 *
匿名: "VXPLO零代码做交互设计教程基本操作1", 《HTTPS://V.QQ.COM/X/PAGE/B01308ANXZK.HTML?》 *
匿名: "VXPLO零代码做交互设计教程-时间轴使用的方法", 《HTTPS://V.QQ.COM/X/PAGE/U01304YHC9K.HTML?》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108769820A (zh) * 2018-07-09 2018-11-06 北京酷我科技有限公司 一种视频播放所有者的管理方法
CN108882039A (zh) * 2018-07-09 2018-11-23 北京酷我科技有限公司 一种视频播放所有者的切换控制方法
CN108900913A (zh) * 2018-07-09 2018-11-27 北京酷我科技有限公司 一种基于视频播放所有者的分级视图控制方法
CN108900914A (zh) * 2018-07-09 2018-11-27 北京酷我科技有限公司 一种基于视频播放所有者的视图控制方法
CN109948546A (zh) * 2019-03-20 2019-06-28 四川长虹电器股份有限公司 媒体播放交互控制系统及方法
CN112559278A (zh) * 2019-09-25 2021-03-26 腾讯科技(深圳)有限公司 操作数据的获取方法和装置
CN112559278B (zh) * 2019-09-25 2024-02-09 腾讯科技(深圳)有限公司 操作数据的获取方法和装置
CN112565812A (zh) * 2019-09-26 2021-03-26 西安诺瓦星云科技股份有限公司 节目编辑方法和装置
CN112667235A (zh) * 2020-12-24 2021-04-16 北京像素软件科技股份有限公司 可视化布局编辑实现方法、装置和电子设备
CN113485968A (zh) * 2021-08-02 2021-10-08 安徽文香科技有限公司 一种基于时间线的编辑方法、装置、设备及存储介质
CN113485968B (zh) * 2021-08-02 2024-06-07 安徽文香科技股份有限公司 一种基于时间线的编辑方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US20150026573A1 (en) Media Editing and Playing System and Method Thereof
CN105279222A (zh) 一种媒体编辑和播放的方法及其系统
US10999650B2 (en) Methods and systems for multimedia content
CN109145248A (zh) 用于记录、编辑和再现计算机会话的方法
US20120089933A1 (en) Content configuration for device platforms
US20090083710A1 (en) Systems and methods for creating, collaborating, and presenting software demonstrations, and methods of marketing of the same
US20110126106A1 (en) System for generating an interactive or non-interactive branching movie segment by segment and methods useful in conjunction therewith
US8219914B2 (en) Systems and methods for generating personalized dynamic presentations from non-personalized presentation structures and contents
US20050071736A1 (en) Comprehensive and intuitive media collection and management tool
US20050069225A1 (en) Binding interactive multichannel digital document system and authoring tool
US20120066601A1 (en) Content configuration for device platforms
US20120254791A1 (en) Interactive menu elements in a virtual three-dimensional space
US20120066304A1 (en) Content configuration for device platforms
JP2007533015A (ja) メディア・パッケージならびにメディア・パッケージの管理システムおよび方法
CN104798036A (zh) 使用声明性模板来标记出控件的用户界面控件框架
CN104216691A (zh) 一种创建应用的方法及装置
US8739120B2 (en) System and method for stage rendering in a software authoring tool
JP7293338B2 (ja) ビデオ処理方法、装置、デバイスおよびコンピュータプログラム
US20120229391A1 (en) System and methods for generating interactive digital books
WO2018158588A1 (en) System and method for creating and using interactive web content
Alor-Hernández Frameworks, Methodologies, and Tools for Developing Rich Internet Applications
CN103988162B (zh) 涉及信息模块的创建、观看和利用的特征的系统和方法
Grinev Mastering JavaFX 10: Build advanced and visually stunning Java applications
US20100131862A1 (en) method of dynamically creating complex multimedia objects
Herrington et al. Getting Started with Flex 3: An Adobe Developer Library Pocket Guide for Developers

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
DD01 Delivery of document by public notice

Addressee: Meng Zhiping

Document name: Notification of Passing Preliminary Examination of the Application for Invention

SE01 Entry into force of request for substantive examination
DD01 Delivery of document by public notice

Addressee: Meng Zhiping

Document name: Notification of Publication and of Entering the Substantive Examination Stage of the Application for Invention

DD01 Delivery of document by public notice

Addressee: Meng Zhiping

Document name: the First Notification of an Office Action

DD01 Delivery of document by public notice
DD01 Delivery of document by public notice

Addressee: Meng Zhiping

Document name: Notification of Passing Examination on Formalities

DD01 Delivery of document by public notice
RJ01 Rejection of invention patent application after publication

Application publication date: 20160127

RJ01 Rejection of invention patent application after publication