技术领域
[0001] 本公开涉及计算机图形技术领域,具体而言,涉及视频播放视窗切换方法。
相关背景技术
[0002] 悬浮窗播放和沉浸页播放是视频播放的两种形态。悬浮窗(Floating Window)通常是一个小型的弹出窗口,它可以在页面上浮动或者固定在某个位置,但不会占据整个页面。悬浮窗可以用于显示特定信息、提供快捷操作或引导用户进行某项操作。沉浸页(Immersive Page)是一个完整的页面,通常具有丰富的内容、交互和视觉效果,目的是吸引用户的注意力并提升用户体验。
[0003] 在一些场景下,需要将视频在悬浮窗播放和沉浸页播放之间切换,但是由于二者播放机制不同、视频尺寸不同,在切换播放窗口时,总是会出现播放画面停滞甚至用户可以察觉到的空屏状态,切换体验不够流畅,用户体验差。
[0004] 需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
具体实施方式
[0028] 现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
[0029] 此外,附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0030] 下面结合附图对本公开示例实施方式进行详细说明。
[0031] 图1是本公开示例性实施例中视频播放视窗切换方法的流程图。
[0032] 参考图1,视频播放视窗切换方法100可以包括:
[0033] 步骤S1,在第一视窗正在播放目标视频时,响应对所述第一视窗的第一操作,生成第二视窗,所述第二视窗与所述第一视窗重叠且形态不同;
[0034] 步骤S2,在所述第二视窗中继续播放所述目标视频,同时控制所述目标视频在播放过程中进行形态渐变和位移,以使所述目标视频从在所述第一视窗中的第一形态渐变为第二形态;
[0035] 步骤S3,生成第三视窗,所述第三视窗与所述第二视窗重叠且形态相同,所述第三视窗的透明度大于预设值;
[0036] 步骤S4,在所述第三视窗中以所述第二形态继续播放所述目标视频。
[0037] 本公开实施例通过在将目标视频从第一视窗播放向第三视窗播放进行切换时,使用第二视窗作为中介来实现视频尺寸转换过程,同时加载透明度较高的第三视窗,能够在第三视窗的加载过程中维持视频连续播放、同时进行视频形态转换和位移,从而避免第三视窗的加载过程对视频的连续播放造成影响,提升切换视频播放视窗过程中的视频播放流畅度,实现无缝转换,提升用户体验。
[0038] 下面,对视频播放视窗切换方法100的各步骤进行详细说明。
[0039] 在步骤S1,在第一视窗正在播放目标视频时,响应对所述第一视窗的第一操作,生成第二视窗,所述第二视窗与所述第一视窗重叠且形态不同。
[0040] 在本公开的一些实施例中,第一视窗为悬浮在背景页面上的悬浮窗。对第一视窗的第一操作对应从第一视窗播放目标视频切换到从第三视窗播放目标视频的视频播放视窗切换控制操作,其中第三视窗例如是沉浸页。第一操作包括但不限于对第一视窗进行单击、双击、划动、滑动等操作,在一些实施例中,第一操作还可以是操作背景页面的控制组件(例如按钮)等方式,本公开不以此为限。当第一视窗为悬浮在背景页面上的悬浮窗时,背景页面可以用于展示文本信息、图片信息、视频信息等,背景页面展示的内容与目标视频不同。
[0041] 在视频播放视窗切换过程中,第三视窗具有生成和加载时间,在一些情况下,该生成和加载时间较长,直接将目标视频由第一视窗播放转换为第三视窗播放,会导致视频播放过程不够流畅,甚至出现用户可以察觉的空屏或停滞状态。
[0042] 在本公开实施例中,无需等待第三视窗的加载时间,直接在根据第一操作判断需要进行视频播放视窗切换时,生成第二视窗,以实现第三视窗加载过程中的视频播放和视频变化过程展示。
[0043] 在一些实施例中,第二视窗例如为动画背景页(Animated Background Page)。动画背景页可以用于展示动画,动画包括简单的循环动画、矢量动画或者帧动画。在本公开实施例中,可以设置该动画背景页展示目标视频的形态渐变和位移的动画。由于仅仅设置这种动画,动画文件比较小且优化良好,加载速度远比第三视窗的加载速度快,不会影响用户对视频的观看。
[0044] 在本公开的一些实施例中,设置第二视窗以透明形式出现(比如设置第二视窗的透明度为最大值或者大于等于一个预设值,例如设置第二视窗的透明度为100%或这设置第二视窗的透明度大于95%),以使用户无法察觉到第二视窗的存在,提高切换流畅度,提升用户体验。
[0045] 此外,为了在第二视窗中实现目标视频的形态(形态包括尺寸和形状)从在第一视窗中播放的第一形态渐变到在第三视窗中播放的第二形态,设置第二视窗的形态与第三视窗相同且与第三视窗重叠。在一些实施例中,第二视窗和第三视窗的尺寸均等于全屏尺寸,第一视窗的尺寸小于第二视窗的尺寸。
[0046] 在本公开实施例中,设置第二视窗与第一视窗重叠、第二视窗与第三视窗重叠,即第二视窗覆盖第一视窗、第三视窗对应的区域,从而能够在第二视窗中实现目标视频的位置从在第一视窗中播放的第一形态和起始位置开始渐变到在第三视窗中播放的第二形态和终止位置,即实现目标视频的形态渐变和位移。
[0047] 为了在第二视窗中播放目标视频,在生成第二视窗时,可以将第一视窗中播放的目标视频放入缓存池中。
[0048] 在步骤S2,在所述第二视窗中继续播放所述目标视频,同时控制所述目标视频在播放过程中进行形态渐变和位移,以使所述目标视频从在所述第一视窗中的第一形态渐变为第二形态。
[0049] 第二视窗在生成后能够从缓存池中加载目标视频以在第二视窗中实现目标视频的继续播放。
[0050] 虽然第二视窗的尺寸固定,但是在第二视窗中播放的目标视频的形态随时间渐变,由在第一视窗中播放时的第一形态渐变到在第三视窗中播放的第二形态,同时播放位置由在第一视窗中播放时的第一坐标渐变到在第三视窗中播放的第二坐标。
[0051] 需要说明的是,目标视频在第三视窗中播放的第二形态既可以与第三视窗的尺寸相同,也可以有至少一个尺寸小于第三视窗的对应尺寸(比如目标视频在第三视窗中播放的高度小于第三视窗的高度)。第一坐标和第二坐标在同一个坐标系下,第一坐标既可以与第一视窗的位置坐标重合(比如第一形态为占满第一视窗的形态时),也可以不重合(比如目标视频在第一视窗的某个区域播放);第二坐标既可以与第三视窗的位置重合(比如第二形态为占满第三视窗的形态时),也可以不重合(比如目标视频在第三视窗的某个区域播放)。
[0052] 在步骤S3,生成第三视窗,所述第三视窗与所述第二视窗重叠且形态相同,所述第三视窗的透明度大于预设值。
[0053] 在一些实施例中,生成第三视窗和生成第二视窗可以同时进行。
[0054] 由于第三视窗的加载时间通常较长,为了防止第三视窗的加载过程干扰视频观看,可以设置第三视窗的透明度大于预设值,或者直接将第三视窗的透明度设置为100%。
[0055] 在另一些实施例中,为了保障视频播放的流畅性,在受到运行设备资源限制、网络环境等因素影响下无法同时生成第二视窗和第三视窗时,可以优先生成第二视窗,以及时实现视频连续播放和形态渐变、位移,然后生成不被察觉的第三视窗,使第三视窗的生成时间、加载时间被隐藏在目标视频发生形态渐变和位移的过程中,实现流畅的观看体验。
[0056] 第三视窗与第二视窗重叠且形态相同,从而使目标视频在第二视窗中渐变到第二形态、完成位移后,切换到第三视窗播放时,与在第二视窗中播放的效果一致,用户不会察觉。
[0057] 在步骤S4,在所述第三视窗中以所述第二形态继续播放所述目标视频。
[0058] 可以在判断第三视窗完成生成时,将第二视窗中播放的目标视频放入缓存池,从而第三视窗完成生成和加载后,可以直接从缓存池中加载目标视频。通过在目标视频形态渐变、位移过程中,检测到第三视窗完成生成和加载后,直接加载目标视频,可以将第三视窗加载目标视频的时间隐藏起来。
[0059] 在视窗层级设置上,第三视窗可以位于第二视窗的上层(更接近用户),也可以位于第二视窗的下层(更远离用户)。
[0060] 当第三视窗位于第二视窗的上层时,在第三视窗的生成和加载过程中,以及在第三视窗加载目标视频的过程中,可以设置第三视窗为完全透明。在第三视窗中播放目标视频后,可以设置第三视窗完全不透明,从而遮挡第二视窗,在用户毫无察觉的情况下关闭第二视窗,降低系统运行负载。
[0061] 当第三视窗位于第二视窗的下层时,可以设置第三视窗具有更丰富的视觉效果、对第三视窗进行更多控制,在一些情况下(比如第二视窗在播放目标视频时的界面状态能够对第三视窗起到足够的遮挡作用时),无需设置第三视窗为透明,节省对第三视窗的操作时间和计算资源。例如,如果设置第三视窗为不透明且足以被第二视窗遮挡,在目标视频完成形态渐变、关闭第二视窗时,第三视窗能够直接以当前形态播放目标视频,实现无缝切换。或者,如果目标视频的第二形态是无法全屏的状态(比如横屏视频在竖屏中播放,上下存在空白),可以设置被第二视窗遮挡的第三视窗为深色,从而在第三视窗播放目标视频后直接为目标视频不能填满第三视窗的部分提供背景色。需要注意的是,对第三视窗的颜色设置和对第二视窗的颜色/透明度设置相互独立,可以仅存在一种,也可以同时存在。
[0062] 此外,第三视窗需要位于第一视窗的上层,从而在第三视窗中能够播放视频时,可以遮挡第一视窗,在用户无法察觉的情况下关闭第一视窗。第二视窗可以设置在第一视窗的上层,也可以设置在第一视窗的下层。
[0063] 图2是本公开实施例中视窗层级设置的示意图。
[0064] 参数图2,在一些实施例中,背景页面20设置在最底层,第一视窗21设置在背景页面20的上层,第二视窗22设置在第一视窗21的上层,第三视窗23设置在第二视窗22的上层。视窗层级设置还可以有如上述文字描述的多种形式,不限于图2所示。
[0065] 在第三视窗中播放目标视频后,可以直接关闭第二视窗和第一视窗,或者,等待预设时长之后再关闭第二视窗和第一视窗,以防止用户有进一步控制。关闭第二视窗和第一视窗可以同时进行也可以先后进行,当先后进行时,优先关闭第二视窗,对第一视窗的保留时间稍微长一些,以在用户在短时间内需要将视频播放视窗重新切换回第一视窗时,无需重新生成第一视窗,缩短反应时间。
[0066] 此外,还可以在第二视窗能够遮挡第一视窗时关闭第一视窗,无论此时是否完成目标视频的形态渐变和位移,以节约计算资源。
[0067] 下面,通过示例来进一步解释本公开实施例的变化过程。
[0068] 图3A和图3B是本公开实施例中目标视频在第二视窗中进行形态渐变和位移的示意图。
[0069] 参考图3A,上方是A、B、C、D四个阶段的平面变化效果,下方是每个阶段对应的视窗层级示意图。
[0070] 在A阶段,目标视频在第一视窗21中播放。第一视窗21设置在背景页面20上方。第一视窗21的尺寸小于背景页面的尺寸。
[0071] 在B阶段,响应第一操作,判断用户想要切换到第三视窗查看目标视频,触发视频播放视窗转换,生成第二视窗22。第二视窗22与背景页面20重叠,与第一视窗21重叠。为了清楚表示第二视窗22,对B阶段的视图中的第二视窗22进行了颜色处理,在实际应用中,第二视窗22生成时可以为透明状态,处于用户无法察觉其存在的状态。当然,在一些实施例中,第二视窗22生成时也可以直接处于用户能够察觉的状态(通过颜色、透明度等形式表示),以使用户得知自己的操作得到了响应。
[0072] 生成第二视窗22后,控制第二视窗22继续播放目标视频,同时控制目标视频进行形态渐变和位移。在图3A所示实施例中,目标视频的形态渐变为渐渐变大。
[0073] 如图3A所示,在一些实施例中,在第二视窗22中控制目标视频进行形态渐变和位移时,可以控制目标视频等比例放大,同时,控制目标视频的中心向第二视窗22的中心移动。
[0074] 在C阶段,目标视频继续在第二视窗22中变大,逐渐接近设定的第二形态。在一些实施例中,在目标视频从在第一视窗21中的第一形态渐变为第二形态的过程中,可以控制第二视窗22的透明度下降。通过设置第二视窗22的透明度随着视频形态渐变而下降,可以逐渐遮挡背景页面,为目标视频的播放提供更清晰的对比观看效果。
[0075] 在一些实施例中,在目标视频从在第一视窗中的第一形态渐变为第二形态的过程中,可以控制第二视窗22由第一颜色渐变为第二颜色,第二颜色的亮度小于是第一颜色的亮度,和/或,第二颜色的色调值小于第一颜色的色调值。即,通过控制第二视窗22随着视频形态渐变而颜色变深和/或变暗,可以逐渐遮挡背景页面,为目标视频的播放提供更清晰的对比观看效果。
[0076] 上述第二视窗22在视频形态渐变过程中出现颜色变深、变暗、透明度下降等方式可以单独使用,也可以随意组合使用,只要能够起到组件遮挡背景页面的内容、为目标视频的播放提供更清晰的对比观看效果即可。
[0077] 在一些实施例中,由于目标视频在第二视窗22中播放,当第二视窗22出现透明度下降、颜色变深、变暗等等效果时,目标视频也会出现透明度变化和颜色变化,即目标视频的颜色和透明度与第二视窗22同步。
[0078] 在另一些实施例中,可以单独控制目标视频的透明度和颜色,使其与第二视窗22的透明度变化和颜色变化独立。在这些实施例中,可以设置目标视频在形态渐变和位移过程中,始终保持最低的透明度、清晰的播放效果。在第二视窗22为动画背景页时,除了上述的形态渐变和位移,还可以在第二视窗22中设置更多动画效果,本公开对此不作特殊限制。
[0079] 在一些实施例中,第二视窗22可以被称为透明视图,在透明视图从缓存池中加载目标视频后,控制透明视图中的目标视频开始做放大和位移动画,以逐渐扩充至全屏,同时透明视图渐渐变黑。
[0080] 在第二视窗22中播放目标视频的过程中,控制第三视窗23生成、加载,并完成对目标视频的加载,由于第三视窗23在此过程中处于全透明或被遮挡的状态,未在C阶段的平面部分标示出第三视窗23。
[0081] 在一些实施例中,在第二视窗22中播放视频的过程中,也可以控制第一视窗21关闭,以节省计算资源。
[0082] 在D阶段,在第三视窗23中以第二形态播放目标视频,第三视窗23遮挡背景页面20。在该阶段可以关闭第二视窗22、第一视窗21。
[0083] 在图3A所示实施例中,目标视频的宽高比例与全屏的宽高比例不同,第二形态为不能填满第三视窗23的形态,目标视频的高度小于第三视窗23的高度,第三视窗23提供暗色或黑色背景以填充高度空白。
[0084] 在一些实施例中,如果目标视频的宽高比例与全屏的宽高比例不同,且需要对目标视频进行等比例变化,导致第二形态为不能填满第三视窗的形态,可以在目标视频的宽度等于第二视窗的宽度,或者,在目标视频的高度等于第二视窗的高度时,停止控制目标视频在播放过程中进行形态渐变和位移,而无需进一步控制目标视频形态变化以填满第三视窗。
[0085] 在图3B所示实施例中,A、B、C阶段均与图3A所示实施例相同,仅在D阶段,目标视频以填满第三视窗23的第二形态播放。在这类实施例中,目标视频的宽高比例与全屏的宽高比例相同,或者,宽高比例不同但是无需等比例形变也不影响视频观看,或者,宽高比例不同但是可以通过AI补图等技术手段实时填补目标视频的画面、改变其宽高比例,并保持主要播放内容不变。
[0086] 在第三视窗23中播放目标视频后,可以刷新第三视窗23,以完成除视频外的其他部分的重新加载(如评论、点赞等),至此无缝切换完成。
[0087] 图4是本公开一个实施例中第三视窗完成刷新的示意图。
[0088] 参考图4,刷新后的第三视窗23除了播放目标视频,还加载了多个交互控件,分被在控制区域41和陈列区域42进行展示。
[0089] 综上所述,本公开实施例通过使用第二视窗实现视频播放视窗切换过程中的目标视频的形态渐变和位移过程,可以在目标视频的播放视窗由第一视窗切换到第三视窗的过程中,隐藏加载时间较长的第三视窗,实现视频播放的连续,提升用户体验。
[0090] 方法100可以用于实现视频放大。在本公开的另一方面,还提供一种视频播放视窗切换方法,可以用于实现视频缩小。
[0091] 图5是本公开示例性实施例中另一个视频播放切换方法的流程图。
[0092] 参考图5,视频播放视窗切换方法500可以包括:
[0093] 步骤S51,在第三视窗正在播放目标视频时,响应对第三视窗的第二操作,控制目标视频在播放过程中在第三视窗内发生形态渐变;
[0094] 步骤S52,在第二操作满足预设条件时,生成第一视窗,第一视窗与第三视窗重叠且形态不同;
[0095] 步骤S53,控制目标视频在播放过程中进行形态渐变和位移,以使所述目标视频渐变为在所述第一视窗中播放的第一形态;
[0096] 步骤S54,在第一视窗中继续以第一形态播放目标视频,隐藏或关闭所述第三视窗。
[0097] 方法500中的第一视窗、第三视窗与方法100中的第一视窗、第三视窗对应,例如可以分别为悬浮窗和沉浸页。
[0098] 在步骤S51,可以响应对第三视窗的第二操作控制目标视频做形态渐变以为视频播放视窗切换做准备,同时继续播放目标视频。第二操作可以对应预设的控制视频播放视窗切换到第一视窗的操作,例如视频缩小。第二操作的种类包括但不限于对第二视窗进行单击、双击、划动等操作。
[0099] 在第二操作对应控制目标视频缩小到第一视窗播放时,第三视窗尺寸不变,目标视频尺寸渐变缩小。如果第三视窗为透明视窗,会露出背景页面;如果第三视窗为非透明视窗,会露出第三视窗的底色。
[0100] 在一些实施例中,在控制目标视频在播放过程中进行形态渐变和位移的同时,控制第三视窗的透明度下降,和/或,控制第三视窗的颜色由第三颜色渐变为第四颜色,第四颜色的亮度小于第三颜色的亮度。
[0101] 通过在目标视频形态渐变的过程中设置第三视窗透明度下降、颜色变深、变暗等界面变化效果,可以遮挡露出的背景页面,为视频播放提供更好的对比背景,提高视频观看清晰度。第三视窗的界面变化方式可以与方法100中的第二视窗的界面变化方式相同,也可以不相同。即第三颜色可以与第一颜色相同或不同,第四颜色可以与第二颜色相同或不同。
[0102] 在一些实施例中,还可以控制目标视频做形态渐变和位移的速度与用户的第二操作的速度(利用滑动速度)对应,使用户实时感受到控制反馈。
[0103] 在步骤S52,当第二操作满足预设条件时,启动视频播放视窗切换动作,生成第一视窗。
[0104] 在一些实施例中,第二操作包括单触点滑动,预设条件可以包括单触点滑动在第一方向的位移大于预设位移,第一方向包括X轴方向。进一步地,还可以设置预设条件包括在第三视频的特定区域进行第二操作,例如,可以设置判断在第三视频的特定区域出现在第一方向的位移大于预设位移的单触点滑动时,启动视频播放视窗切换。
[0105] 在一些实施例中,当第二操作不满足预设条件时,例如单触点滑动的位移没有大于预设位移即停止,控制目标视频在播放过程中进行形态渐变,以使目标视频恢复到第二操作出现之前在第三视窗中的第二形态。
[0106] 图6是本公开一个实施例中第二操作的示意图。
[0107] 参考图6,在6A阶段,用户对第三视窗23进行单触点61向右滑动(即定义的第二操作),开始控制目标视频在播放过程中在第三视窗23内发生形态渐变和位移。
[0108] 在6B阶段,目标视频形态渐变过程中,目标视频缩小,露出背景页面20,同时第三视窗23没有被目标视频占据的区域出现颜色变化。此时用户停止第二操作,单触点61停止滑动,滑动位移小于预设位移。判定第二操作不满足预设条件。
[0109] 在6C阶段,控制目标视频在播放过程中进行形态渐变,以使目标视频恢复到第二操作出现之前在第三视窗23中的第二形态。
[0110] 在图6所示实施例中,未满足预设条件的第二操作没有触发视频播放视窗切换,也不影响目标视频的连续播放,仅仅使视频形态出现了短暂改变、出现了短暂位移。
[0111] 如果第二操作满足预设条件,则生成第一视窗。第一视窗与方法100中的第一视窗对应,不再赘述。
[0112] 在步骤S53,控制目标视频在播放过程中进行形态渐变和位移,以使目标视频渐变为在所述第一视窗中播放的第一形态。
[0113] 该步骤中可以控制目标视频的形态变化为在第一视窗中播放的第一形态,位置变化为在第一视窗中播放的位置。
[0114] 图7是本公开实施例中目标视频在第三视窗中进行形态渐变和位移的示意图。
[0115] 参考图7,上方是7A、7B、7C、7D四个阶段的平面变化效果,下方是每个阶段对应的视窗层级示意图。
[0116] 在7A阶段,用户对第三视窗23进行单触点61向右滑动(即定义的第二操作),开始控制目标视频在播放过程中在第三视窗23内发生形态渐变。
[0117] 在7B阶段,目标视频形态渐变过程中,目标视频缩小,露出背景页面20,同时第三视窗23不播放目标视频的区域出现颜色变化,除视频外的所有元素隐藏,背景透明化。在用户停止第二操作时,单触点61停止滑动,滑动位移大于预设位移。判定第二操作满足预设条件。
[0118] 在7C阶段,生成第一视窗21。同时继续控制目标视频在播放过程中进行形态渐变和位移,以使目标视频的形态变化为在第一视窗中播放的第一形态,位置变化为在第一视窗中播放的位置。在层级设置上,第一视窗21可以位于第三视窗23和背景页面20之间。
[0119] 在7D阶段,即对应步骤S54,在第一视窗21中继续以第一形态播放目标视频。第一视窗21可以在生成之后从缓存池中加载第三视窗23在第一视窗21开始生成时到完成加载前这段时间内放入缓存池的目标视频,从而实现对目标视频的连续播放。在第一视窗21中播放目标视频后,可以隐藏或关闭第三视窗23,例如设置第三视窗23透明度大于预设值,或者,延时一段时间后关闭第三视窗23。
[0120] 通过在第三视窗23中直接做目标视频的形态变化和位移,可以将第一视窗21的生成时间、加载时间、视频加载时间隐藏在视频播放和形态渐变的过程中,并在第一视窗21能够完成正常视频播放时隐藏或关闭第三视窗23,实现视频播放的连续和流畅,实现视频播放视窗的无缝切换,提升用户体验。
[0121] 本公开实施例通过在将视频切换到较大视窗播放的过程中添加响应速度较快的动画背景页来实现视频放大效果,在视频切换到较小视窗播放的过程中直接在当前较大视窗上实现视频缩小效果,能够实现视频的不间断播放,支持跨端技术栈分别开发视频放大动画效果和视频缩小动画效果,提升用户体验,且具有更广泛的实用性、更灵活的开发适配性。
[0122] 在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备,可以用于执行上述方法实施例。电子设备包括但不限于手机、平板电脑等移动终端。
[0123] 通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD‑ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
[0124] 在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
[0125] 根据本发明的实施方式的用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(CD‑ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0126] 所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0127] 计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0128] 可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0129] 可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0130] 此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0131] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和构思由权利要求指出。