用于编辑控件的方法、装置、设备以及计算机存储介质
技术领域
本公开的实施例涉及可视化,并且更具体地,涉及基于可视化的编辑控件的方法、装置、设备以及计算机存储介质。
背景技术
现有的流程图编辑软件本质上是绘图软件,其输出只是流程图,而非可解析执行的流程程序。另外,流程图的组成部件只是线框、连线或箭头等简单的图形,通常以矢量图(例如SVG格式)的方式来绘制,然而,这种方式不能很好地表示位图、音频、视频、可交互的流程单元(下文称交互控件)等内容。现有的在线音视频编辑系统同样不支持交互控件的编辑,编辑好的流程走向上是固定的,无分支的概念,缺乏交互性和适应性。
因此,期望能够编辑作为带有逻辑分支的一组资源形式的控件,并且使输出的内容具有可交互性和可适应性。
发明内容
本公开的实施例提供了一种用于编辑控件的解决方案。
在本公开的第一方面中,提供了一种用于编辑控件的方法。该方法包括:定义多个控件中的每个控件的标记语言表示以及类型,类型包括普通控件和交互控件,普通控件包括一个节点,交互控件包括至少一组节点,该至少一组节点中的一组节点形成与一个交互条件相对应的一个逻辑分支;在编辑界面中的画布区内生成一个空节点区域,并且将表示编辑结果的结果对象初始化为空对象;从多个控件中将第一控件导入编辑界面中的控件区中;将第一控件导入至所述画布区中的空节点区域;响应于第一控件被导入至画布区中的空节点区域,在画布区中可视地显示该第一控件;将空节点区域更新为与该第一控件相对应的更新的节点区域,并且在更新的节点区域之后添加新的空节点区域;以及更新结果对象以包括该第一控件的标记语言表示和类型。
在本公开的第二方面中,提供了一种用于编辑控件的装置。该装置包括:定义模块,定义模块被配置为定义多个控件中的每个控件的标记语言表示以及类型,类型包括普通控件和交互控件,普通控件包括一个节点,交互控件包括至少一组节点,该至少一组节点中的一组节点形成与一个交互条件相对应的一个逻辑分支;初始化模块,初始化模块被配置为在编辑界面中的画布区内生成一个空节点区域,并且将表示编辑结果的结果对象初始化为空对象;导入模块,导入模块被配置为从多个控件中将第一控件导入编辑界面中的控件区中,并且将第一控件导入至画布区中的空节点区域;显示模块,显示模块被配置为响应于第一控件被导入至画布区中的空节点区域,在画布区中可视地显示该第一控件;以及更新模块,更新模块被配置为将空节点区域更新为与该第一控件相对应的更新的节点区域并且在更新的节点区域之后添加新的空节点区域,并且更新结果对象以包括该第一控件的标记语言表示和类型。
在本公开的第三方面中,提供了一种设备。该设备包括:一个或多个处理器;以及存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现根据第一方面的方法。
在本公开的第四方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现根据第一方面的方法。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开内容的实施例的关键或重要特征,亦非用于限制本公开内容的范围。本公开内容的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开内容的各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了一个示例性多媒体多互动课件;
图2a和图2b示出了根据本公开内容的实施例的普通控件和交互控件的示意图;
图3示意性地示出了根据本公开的实施例的用于编辑控件的方法的流程图;
图4示意性地示出了根据本公开的实施例的示例课件的流程图;
图5a至图5e示出了根据本公开的实施例的可视化生成图4所示课件的过程;
图6示意性示出了根据本公开的示例性实施例的用于编辑控件的装置的框图;以及
图7示出了能够实施本公开的多个实施例的计算设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开内容的实施例。虽然附图中显示了本公开内容的某些实施例,然而应当理解的是,本公开内容可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开内容。应当理解的是,本公开内容的附图及实施例仅用于示例性作用,并非用于限制本公开内容的保护范围。
在本公开内容的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
目前,通常以展现出关于文档结构和数据处理细节的标记语言来标识文档的结构信息。
目前已经提出了可扩展标记语言(XML),该语言是一种用于标记电子文件使其具有结构性的标记语言。可以使用XML来标记数据、定义数据类型,并且XML是一种允许用户对自己的标记语言进行定义的源语言。它非常适合网络传输,并且提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。XML是网络环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。
目前还已经提出了JSON(JavaScript Object Notation),该语言是一种轻量级的数据交换格式。它基于ECMAScript的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。它易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
目前还已经提出了HTML5。HTML5是超文本标记语言(HTML)规范的最新版本,是一系列用来制作现代富Web内容的相关技术的总称。其中最重要的是HTML5核心规范、CSS(层叠样式表)和JavaScript。其中引入了<video>、<audio>元素,使得浏览器原生地支持了音视频的播放,同时引入了<canvas>元素,使得浏览器原生地支持了图形、图像与动画的绘制。
基于上述各标记语言,目前已经提供了多种多媒体编辑工具。例如,常规的音视频编辑软件主要进行音视频裁剪、拼接、添加特效和字幕等功能,然而其缺乏将生成的过程流与用户或现场情况进行交互的功能,并且编辑方式复杂。在很多应用场合中,期望以简单的编辑方式实现在多媒体流运行过程中能够根据一定的触发条件而实现与用户或现场环境的自动交互功能,以提升开发者和用户的使用体验。
鉴于现有技术中的上述不足,本公开提出了一种基于可视化方式来编辑控件的技术方案。具体地,本公开的解决方案根据以标记语言表示的不同控件类型而可视化生成多媒体流的标记语言表示,并且支持控件的交互配置和参数配置。图1示出了可以应用本公开的方法的一个示例性多媒体多互动课件100。将会理解,尽管在本公开的上下文中以课件作为互动文件的具体示例,在此描述的方法还可以被应用于其他目的的多媒体互动文件。该课件100包括由多个视频102和多个交互104组成的标记语言表示,反映了课件的前进方向和分支。每个视频102可以由一个或多个视频切片编辑形成。每个交互104可以包括与用户进行交互的内容,以及根据用户的交互所形成的多媒体内容,诸如视频、音频、动画、应用程序等。交互104能够根据与用户的交互情况而自动选择不同的逻辑分支,从而可以响应用户的交互。
为了介绍例如图1的多媒体多互动课件100的标记语言表示的编辑方法,首先引入普通控件和交互控件的概念。
为了简化描述,在下文关于图2、图4和图5a至图5e的实施例中,将以XML表示作为标记语言表示的示例进行描述。本领域技术人员可以理解,以下描述的各实施例的内容不限于XML表示,并且可以应用于其他标记语言表示,诸如JSON、HTML等。在XML表示的情况下,术语“控件”可以对应于XML表示中的XML元素。普通控件被定义为仅包括一个节点的XML元素,图1中的视频102可以是普通控件的一种形式。在一些实施例中,普通控件还可以包括音频、文字、图像、动画等资源的非交互的形式。现在参照图2a,示出了XML表示200中的普通控件210,其包括一个节点212。
如上所述,交互控件本质上为可交互的流程单元。在本文中,交互控件被定义为包括至少一组节点的XML元素,其中该至少一组节点中的一组节点形成与一个交互条件相对应的一个逻辑分支。图1中的交互104可以被认为是交互控件的一种形式。为了进一步说明,图2a中还示出了与普通控件210连接的交互控件220。交互控件220包括节点222、224和226以及逻辑分支232和234。其中,节点224形成与交互条件242相对应的逻辑分支232并且节点226形成与交互条件244相对应的逻辑分支234。由此,在该交互控件220中,通过节点222后,如果满足交互条件242则在XML表示中行进到逻辑分支232并到达节点224,如果满足交互条件244则行进到逻辑分支234并到达节点226。
进一步参照图2b,图2b示出了XML表示250,其中在如图2a所示的普通控件210与交互控件220之间存在另一交互控件260。该交互控件260包括两个节点262和264以及三个逻辑分支272、274和276。在该交互控件260中,如果满足交互条件282则行进到逻辑分支274并通过节点262,否则行进到逻辑分支272。在通过节点262后,如果还满足交互条件284则行进到逻辑分支276并通过节点264。在经由各逻辑分支离开交互控件260后,各流程的逻辑分支汇合以连接到下一交互控件220。
在一些实施例中,交互条件可以包括绝对时间范围,例如,早于某个时间点的系统内部时间范围、晚于某个时间点的系统内部时间范围、以及在某两个时间点之间的系统内部时间范围。在一些实施例中,交互条件可以包括相对时间范围,例如,在与某个节点相对应的视频播放到某个时间点之后的时间范围、以及在与某个节点相对应的视频播放完成之后的时间范围。在一些实施例中,交互条件可以包括现场情景检测结果,例如,表情检测结果、人脸识别结果、以及动作检测结果。在一些实施例中,交互条件可以包括用户触发结果,例如,某个用户在客户端触发的提问、现场教师在学生专注度不足时触发的提醒、或者学生在客户端提交的答题情况。
此外,在一些实施例中,在现场情景检测中利用自然场景下多人人脸实时定点处理的方法来进行场所内多个人(诸如学生)的表情检测和人脸识别。
交互控件的参数、节点、逻辑分支以及交互条件都是可配置的,由此可以根据实际需要将交互控件配置成不同结构和不同功能。
图3示意性地示出了根据本公开的实施例的用于编辑控件的方法300的流程图。方法300能够实现控件的可视化编辑并且支持具有多个逻辑分支的交互控件。在图3中,以实线框示出了一个实施例所包括的操作,并且以虚线框示出了其他实施例可以包括的可选操作。
方法300开始于框302,首先定义多个控件中的每个控件的标记语言表示以及类型。类型可以包括如上定义的普通控件和交互控件。在一些实施例中,多个控件中的每个控件的标记语言表示以及类型的定义被存储在用于执行方法300的装置的存储器中。在一些实施例中,该定义作为配置文件被存储在实施方法300的计算设备的存储器中。
随后,在框304处,在编辑界面中的画布区内生成一个空节点区域,并且将表示编辑结果的结果对象初始化为空对象。画布区可以是用来可视化编辑各个控件及其参数的区域。在一些实施例中,空节点区域可以在画布区中被表示为带有“+”号的矩形框,以提示该区域为空并且能够被导入控件。
在框306处,从多个控件中将第一控件导入编辑界面中的控件区中。控件区可以是编辑界面中用来存放待导入的控件的区域。第一控件是多个控件的子集合,并且可以包括一个或多个控件。在一些实施例中,可以例如通过操作编辑界面的菜单从可选的多个控件中进行选择,从而将第一控件导入控件区中。在一些实施例中,可以直接读取作为格式化存储的待导入的第一控件列表,以将在该列表中的第一控件导入控件区中。
在框308处,将第一控件导入至画布区中的空节点区域。在一些实施例中,可以响应于第一控件从控件区被拖动至画布区中的空节点区域而将该第一控件导入至该空节点区域。在一些实施例中,可以响应于第一控件在控件区内被选择而将该第一控件导入至空节点区域。
在框310处,响应于第一控件被导入至画布区中的空节点区域,在所述画布区中可视地显示该第一控件。可视地显示第一控件可以包括可视地显示该第一控件的结构、连接关系、交互条件(对于交互控件而言)等。
在框312处,将空节点区域更新为与该第一控件相对应的更新的节点区域,并且在更新的节点区域之后添加新的空节点区域。这有助于后续的第一控件被导入到该新的空节点区域中。
随后,在框314处,更新结果对象以包括该第一控件的标记语言表示和类型。
可以重复以上框308至314,以完成多个第一控件的依次导入。
方法300实现了基于可视化的控件编辑,并且可以支持对具有交互功能的交互控件的可视化编辑,使得生成的标记语言表示在由解析器进行解析播放时具有可交互性和可适应性。
在一些实施例中,方法300还可以包括可选的框302’和306’,以对多个控件的约束条件进行限定并在导入时根据约束条件进行对应处理。在可选的框302’处,定义多个控件中的每个控件的约束条件。约束条件是针对每个控件中的每个节点进行限定的约束条件。在一些实施例中,多个控件中的每个控件的约束条件的定义被存储在用于执行方法300的装置的存储器中。在一些实施例中,该定义作为配置文件被存储在实施方法300的计算设备的存储器中。
在一些实施例中,约束条件可以包括针对每个控件中的节点的以下约束条件:该节点是否可为空、该节点能够被导入的控件的类型、该节点能够响应的交互条件、该节点是否可配置、以及该节点所属的控件是否为起始或终止控件。
在一些实施例中,约束条件可以取决于节点所属的控件类型。在一些实施例中,约束条件可以取决于节点的父节点和/或子节点的约束条件。
在可选的框306’处,如果第一控件的约束条件匹配于空节点区域的约束条件,允许第一控件被导入至该空节点区域。在一些实施例中,空节点区域可以为节点内容为空的单个节点,其约束条件仍然可以取决于其父节点的约束条件。例如,如果在某个普通控件中具有禁止在其后连接普通控件的约束条件,则在该普通控件后面的空节点区域将具有禁止导入普通控件的约束条件。在一些实施例中,仅在框306’完成后才可以进行框308。
通过对各控件定义约束条件,使得不符合约束条件的控件无法被导入画布区中,由此能够避免输出不期望的标记语言表示。
在一些实施例中,框312处的将空节点区域更新为与该第一控件相对应的更新的节点区域包括:响应于第一控件是交互控件,利用该第一控件包括的至少一组节点更新空节点区域。在一些实施例中,框312还包括在响应于第一控件是交互控件时,显示配置与该交互控件相关联的参数表单,并且基于对该参数表单的输入形成更新的节点区域。由此,与该交互控件相关联的参数能够被配置并将相关信息形成在更新的节点区域中。在另一些实施例中,框312处的将空节点区域更新为与该第一控件相对应的更新的节点区域包括:响应于第一控件是普通控件,利用该第一控件包括节点更新空节点区域。
在一些实施例中,方法300还包括根据结果对象的变化而保存与结果对象相关联的标记语言文件,由此使得在每次更新节点区域时实时保存与当前结果对象相关联的标记语言文件。
在一些实施例中,方法300所针对的标记语言包括XML、JSON和HTML。
在一些实施例中,方法300还包括在编辑界面的预览区中预览结果对象,该预览包括:按照结果对象中的交互控件中的交互条件,显示从交互控件中的至少一个逻辑分支中选择的逻辑分支。预览区可以是编辑界面中用来预览当前编辑结果的区域。由此,能够实时预览当前编辑结果并且对各交互控件的逻辑分支进行模拟。
下面以生成XML表示的具有交互功能的课件作为示例,具体描述编辑控件的过程。
图4示意性地示出了根据本公开的实施例的示例课件400的流程图。该课件400在正常课程视频播放的基础上集成了课前秩序维护和做题效果检测等功能。在课件400中,矩形框表示与一个节点相对应的多媒体内容,而菱形框表示交互条件。
流程图在框402处开始。随后,在框404处进行课前秩序维护,其具体形式可以为播放关于秩序维护的视频切片(片段)。然后利用例如如上所述的现场情景检测来检测学生的专注度。如果在框406处判定专注度大于等于第一阈值,则可以认为学生的专注度良好,能够正常上课,此后流程图直接前进到课程视频框414以进行视频播放。如果在框406处的判定专注度小于第一阈值,则前进至课前秩序维护切片框408以进行秩序维护。随后,在框410处再一次进行专注度的检测和判定,并根据专注度与第二阈值的关系来选择前进到课程视频框414或者课前秩序维护切片框412。无论判定结果如何,流程图最终均会前进到课程视频框414以进行课程视频播放。
在播放课程视频之后,为了提升学生的积极性,可以在课中红包框416中设置课中红包功能、例如向学生客户端发放积分以用于学习用品的兑换等。将会理解,尽管在图4示出了在播放课程视频之后前进到课中红包框416,还可以在播放课程视频期间根据交互条件前进到课中红包框416。随后,流程图前进到做题框418、例如可以在大屏幕上投放与该节课程有关的试题等。在框420处,利用如上所述的现场情景检测来检测学生所答试题的正确率,并且判定正确率是否大于第三阈值。如果判定结果为是,则表示学生掌握情况良好并且前进到框422以进行简略讲解;如果判定结果为否,则表示学生掌握情况较差并且前进到框424以进行详细讲解。课程最后在框426处结束。
图5a至图5e示出了根据本公开的实施例的可视化生成图4所示课件的过程。在图5a至图5e中,示出了具有控件区502、画布区504、预览区506和操作按钮区508的编辑界面500。控件510至518为导入至控件区502内的第一控件。520-1至520-6为空节点区域,并且530为表示当前编辑结果的结果对象。
控件510、512、514、516和518与图4所示的课件400的流程图中的框相对应。控件510和516为用阴影表示的交互控件,分别对应于如图4中的虚线框450和460内的部分。控件510包括与框404、408和412相对应的节点以及与框406和410相对应的交互条件,并且具有三个逻辑分支。控件516包括与框418、422和424相对应的节点以及与框420相对应的交互条件,并且具有两个逻辑分支。控件512、514和518为普通控件,分别包括与框414、416和426相对应的一个节点。
在图5a中,控件510、512、514、516和518已被导入至控件区502内,初始化空节点区域520-1并且将结果对象530初始化为空对象。
在图5b中,示出了已经将控件510导入至画布区504中的结果。空节点区域520-1被更新为与控件510相对应的更新的节点区域并被显示在画布区504中,并且在更新的节点区域后添加新的空节点区域520-2。结果对象530的内容也被更新。由于控件510是交互控件,所以显示参数表单542以用于对控件510的参数配置。
在图5c中,示出了进一步已经将控件512和514导入至画布区504中的结果。由于控件512和514是普通控件,所以在画布区504中显示与控件512和514相对应的两个节点,并且在其后添加新的空节点区域520-3。
在图5d中,示出了进一步已经将控件516导入至画布区504中的结果。与图5a类似,示出了更新的结果对象530、新的空节点区域520-4以及与控件516相关联的参数表单544。
最后,将控件518导入空节点区域520-4中,编辑完成。这种情况未在图5a至图5d中示出。
在一些实施例中,操作按钮区508可以包括针对结果对象、控件等的操作动作,诸如添加、修改、删除、剪切、复制、粘贴等。
在一些实施例中,对于已经显示在画布区504内的结果对象530,其中的每一个节点在其可配置的情况下均可以被导入新的控件,以取代当前的节点内容。该节点是否可配置以及能够被导入的控件类型可以在约束条件中进行预先定义。
在一些实施例中,在编辑过程中可以随时针对已被导入画布区504的各控件的结构进行重新配置,例如在控件内添加新的逻辑分支或者新的空节点区域。这极大地拓展了配置的灵活性。
这种情况在图5e中进一步示出。例如,在已经将控件518导入至画布区504之后,期望在与做题相关联的控件516中进一步添加附加的逻辑分支和/或空节点区域以配置其他功能,诸如在讲解之后进一步添加根据学生的错题改正情况而进行鼓励或进一步的讲解等功能。此时,在满足约束条件的情况下,可以通过操作按钮区508中的按钮而在与控件516相对应的流程图表示中添加新的逻辑分支522、524以及空节点区域520-5、520-6,进行交互条件或参数的配置,并且更新结果对象530的内容。空节点区域520-5、520-6同样可以被导入如上所述的普通控件和交互控件。
从图5a至图5e中可以看出,该可视化编辑的过程是方便且省时的,并且可以根据实际需要而个性化交互条件、配置参数和控件结果以实现多种功能。
图6示意性示出了根据本公开的示例性实施例的用于编辑控件的装置600的框图。具体地,该装置600包括:定义模块610,定义模块被配置为定义多个控件中的每个控件的标记语言表示以及类型,类型包括普通控件和交互控件,普通控件包括一个节点,交互控件包括至少一组节点,该至少一组节点中的一组节点形成与一个交互条件相对应的一个逻辑分支;初始化模块620,初始化模块被配置为在编辑界面中的画布区内生成一个空节点区域,并且将表示编辑结果的结果对象初始化为空对象;导入模块630,导入模块被配置为从多个控件中将第一控件导入编辑界面中的控件区中,并且将第一控件导入至画布区中的空节点区域;显示模块640,显示模块被配置为响应于第一控件被导入至画布区中的空节点区域,在画布区中可视地显示该第一控件;以及更新模块650,更新模块被配置为将空节点区域更新为与该第一控件相对应的更新的节点区域并且在更新的节点区域之后添加新的空节点区域,以及更新结果对象以包括该第一控件的标记语言表示和类型。
在一些实施例中,更新模块650还被配置为:响应于第一控件是交互控件,利用该第一控件包括的至少一组节点更新空节点区域。
在一些实施例中,更新模块650还被配置为:响应于第一控件是交互控件,显示配置与交互控件相关联的参数表单;以及基于对该参数表单的输入形成更新的节点区域。
在一些实施例中,更新模块650还被配置为:响应于第一控件是所述普通控件,利用第一控件包括的节点更新空节点区域。
在一些实施例中,定义模块610还被配置为定义多个控件中的每个控件的约束条件。
在一些实施例中,导入模块630还被配置为:响应于第一控件的约束条件匹配于空节点区域的约束条件,允许该第一控件被导入至该空节点区域。
在一些实施例中,装置600还包括可选的保存模块660,保存模块被配置为响应于结果对象的变化而保存与该结果对象相关联的XML文件。
在一些实施例中,装置600所针对的标记语言包括XML、JSON和HTML。
在一些实施例中,装置600还包括可选的预览模块670,预览模块被配置为在编辑界面的预览区中预览结果对象,该预览包括:按照结果对象中的交互控件中的交互条件,显示从交互控件中的至少一个逻辑分支中选择的逻辑分支。
根据本公开内容的示例性实施例,提供了一种设备,包括一个或多个处理器;以及存储装置,用于存储一个或多个程序。当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现根据本公开内容的方法。
根据本公开内容的示例性实施例,提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开内容的方法。
图7示出了能够实施本公开内容的多个实施例的计算设备700的框图。如图所示,设备700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的计算机程序指令或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序指令,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元701执行上文所描述的各个方法和处理,例如方法300。例如,在一些实施例中,方法300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由CPU 701执行时,可以执行上文描述的方法300的一个或多个框。备选地,在其他实施例中,CPU 701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法300。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本公开内容的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开内容的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开内容的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
本文所公开的用于编辑控件的方法、装置、设备以及计算机存储介质可以在多种场合下进行应用。
例如,在教育教学领域,本文所公开的技术方案可以利用稀缺的优质师资设计、录制并制作出包含适应不同场景需要的教学课程,达到一次录制、多次和多地播放的目的,有效解决优质师资不足的问题。利用本文所公开的技术方案,可以给异地远程授课,可以使得同一个老师同时给不同班级的学生上课却同时根据每个班级学生的不同互动情况给予不同的反馈、从而解决自然人“分身乏术”的问题,也可以实现针对不同的学生进行个性化教学、实现因材施教。
例如,在电影、音乐创作领域,本文所公开的技术方案可以用来制作一款可以适应不同观众口味的电影、音乐产品。例如,可以在一个电影中预先编辑不同的分支,在该电影播放过程中,当发觉用户对于某个恐怖片段的表情、声音等的反馈为极度恐惧时,后续的剧情则前往减轻恐怖程度的分支,否则前往加重恐怖程度的分支。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。