CN111757164B - 一种视频播放切换方法、装置、电子设备及存储介质 - Google Patents

一种视频播放切换方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111757164B
CN111757164B CN202010745806.9A CN202010745806A CN111757164B CN 111757164 B CN111757164 B CN 111757164B CN 202010745806 A CN202010745806 A CN 202010745806A CN 111757164 B CN111757164 B CN 111757164B
Authority
CN
China
Prior art keywords
view
playing
play
parent
rotation operation
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.)
Active
Application number
CN202010745806.9A
Other languages
English (en)
Other versions
CN111757164A (zh
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010745806.9A priority Critical patent/CN111757164B/zh
Publication of CN111757164A publication Critical patent/CN111757164A/zh
Application granted granted Critical
Publication of CN111757164B publication Critical patent/CN111757164B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/485End-user interface for client configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/485End-user interface for client configuration
    • H04N21/4858End-user interface for client configuration for modifying screen layout parameters, e.g. fonts, size of the windows

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请公开了一种视频播放切换方法、装置、电子设备及存储介质,涉及视频播放领域。具体实现方案为:监听第一横竖屏切换事件;第一横竖屏切换事件为从第一播放模式向第二播放模式转换的切换事件;确定播放视图在第一播放模式下的第一父视图;创建播放视图在第二播放模式下的第二父视图;将播放视图从第一父视图迁移至第二父视图,并对播放视图进行第一旋转操作,第一旋转操作包括将播放视图旋转与第一横竖屏切换事件对应的角度;对播放视图进行第二旋转操作及放大操作,第二旋转操作为与第一旋转操作相反的操作。本申请能够实现流畅、平滑的横竖屏切换,提高用户体验。

Description

一种视频播放切换方法、装置、电子设备及存储介质
技术领域
本申请涉及图像处理领域,尤其涉及视频播放领域。
背景技术
随着移动互联网的快速发展和无线通信网速的快速提高,移动端视频业务也呈指数倍的增长。相应的,在智能手机上观看视频也成为网民娱乐和获取信息的重要方式。由于智能手机屏幕大小有限,横竖屏切换观看视频的体验的优化成了视频业务切实需要解决的问题。
现有的横竖屏视频切换方法主要有以下三种:
(1)新页面横屏播放。具体地,创建一个横屏全屏播放的新视图控制器,在横屏向竖屏切换时,跳转到新视图控制器重新进行横屏播放;之后,从新视图控制器返回完成切回到原竖屏页面的操作。这种方式的用户体验较差,需要跳转到新页面观看,用户观感较为明显,并不能满足在当前页面平滑切换的观看体验。
(2)对当前整个页面进行横屏切换。具体地,将当前整个视图控制器,包括所有视图整体进行横屏适配,以达到其中视频横屏播放的效果。这种方案适用场景单一,只适合播放视图在页面顶部的情况,如果播放视图在页面其他位置,用户就会看到其他所有视图都横屏了,显然不符合产品初衷,用户体验较差。
(3)当前页面上覆盖一层视图虚拟横屏播放。具体地,切换横屏时,创建一个新的全屏大小的新视图覆盖在当前页面上,将当前播放视图转移到此视图上旋转90度角横屏展示;切换回竖屏时,将播放视图从新视图移除添加到原竖屏视图上进行竖屏展示,同时创建的横屏视图销毁,以此来实现横竖屏的切换。这种方式切换过程生硬且灵活性差,播放视图突然出现在竖屏,用户感官上有跳跃的感觉,因此用户体验不好;并且由于不是真的横屏,无法对状态栏样式进行更新。
可见,现有的视频播放切换方式都无法实现流畅、平滑的横竖屏切换,用户体验较差。
发明内容
本申请提供了一种视频播放切换方法、装置、电子设备及存储介质。
根据本申请的一方面,提供了一种视频播放切换方法,包括:
监听第一横竖屏切换事件;所述第一横竖屏切换事件为从第一播放模式向第二播放模式转换的切换事件;
确定播放视图在所述第一播放模式下的第一父视图;
创建所述播放视图在所述第二播放模式下的第二父视图;
将所述播放视图从所述第一父视图迁移至所述第二父视图,并对所述播放视图进行第一旋转操作,所述第一旋转操作包括将所述播放视图旋转与所述第一横竖屏切换事件对应的角度;
对所述播放视图进行第二旋转操作及放大操作,所述第二旋转操作为与所述第一旋转操作相反的操作。
根据本申请的另一方面,提供了一种视频播放切换装置,包括:
第一监听模块,用于监听第一横竖屏切换事件;所述第一横竖屏切换事件为从第一播放模式向第二播放模式转换的切换事件;
确定模块,用于确定播放视图在所述第一播放模式下的第一父视图;
创建模块,用于创建所述播放视图在所述第二播放模式下的第二父视图;
第一迁移模块,用于将所述播放视图从所述第一父视图迁移至所述第二父视图,并对所述播放视图进行第一旋转操作,所述第一旋转操作包括将所述播放视图旋转与所述第一横竖屏切换事件对应的角度;
第一反向旋转模块,用于对所述播放视图进行第二旋转操作及放大操作,所述第二旋转操作为与所述第一旋转操作相反的操作。
根据本申请的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请实施例中任一项所述的方法。
根据本申请的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行本申请实施例中任一项所述的方法。
根据本申请的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如上所述的方法。
根据本申请的视频播放切换方法,在横竖屏切换时,创建切换至的第二播放模式下的第二父视图。将播放视图在切换之前的第一父视图与切换之后的第二父视图之间进行迁移,从而实现流畅、平滑的横竖屏切换,提高用户体验。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1为本申请实施例的一种视频播放切换方法实现流程图一;
图2为本申请实施例的一种视频播放切换方法中,创建第二父视图的一种实现流程图;
图3A为本申请实施例的一种竖屏视图层次架构示意图;
图3B为本申请实施例的一种横屏视图层次架构示意图;
图3C为本申请实施例竖屏播放向横屏播放切换时,竖屏坐标系参数获取示意图;
图3D为本申请实施例竖屏播放向横屏播放切换时,横屏坐标系参数确定示意图;
图4为本申请实施例的一种视频播放切换方法中,步骤S104的一种实现流程图;
图5为本申请实施例的一种竖屏向横屏切换的播放视图示意图;
图6为本申请实施例的一种视频播放切换方法实现流程图二;
图7为本申请实施例的一种视频播放切换方法中,步骤S607的一种实现流程图;
图8A为本申请实施例横屏播放向竖屏播放切换时,竖屏坐标系参数获取示意图;
图8B为本申请实施例竖屏播放向横屏播放切换时,竖屏坐标系参数确定示意图;
图8C为本申请实施例的一种横屏向竖屏切换的播放视图示意图;
图9为本申请实施例的一种视频播放切换装置900结构示意图;
图10为本申请实施例的一种视频播放切换装置1000结构示意图;
图11是用来实现本申请实施例的视频播放切换方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本申请实施例提出一种视频播放切换方法,该方法可以应用于移动终端,例如智能手机、平板电脑等移动智能设备。图1为本申请实施例的一种视频播放切换方法实现流程图一,包括:
步骤S101:监听第一横竖屏切换事件;该第一横竖屏切换事件为从第一播放模式向第二播放模式转换的切换事件;
步骤S102:确定播放视图在第一播放模式下的第一父视图;
步骤S103:创建播放视图在第二播放模式下的第二父视图;
步骤S104:将播放视图从第一父视图迁移至第二父视图,并对播放视图进行第一旋转操作,该第一旋转操作包括将播放视图旋转与第一横竖屏切换事件对应的角度;
步骤S105:对播放视图进行第二旋转操作及放大操作,该第二旋转操作为与第一旋转操作相反的操作。
可选地,上述第一播放模式包括竖屏播放模式,第二播放模式包括横屏播放模式。对应地,第一横竖屏切换事件指从竖屏播放模式切换到横屏播放模式的切换事件。例如,该第一横竖屏切换事件可以指移动终端设备横放、或者用户点击横屏播放按钮等。
可选地,上述第二父视图的播放方向为横屏方向,并且第二父视图的背景色为透明。
图2为本申请实施例的一种视频播放切换方法中,创建第二父视图的一种实现流程图。如图2所示,在一些实施方式中,上述步骤S103中创建第二父视图的过程包括:
步骤S201:创建播放视图在第二播放模式下的播放窗口;
步骤S202:创建播放窗口的根视图控制器;
步骤S203:创建播放视图在根视图控制器下的父视图,将创建的父视图作为播放视图在第二播放模式下的第二父视图。
在以下实施例中,以移动终端的操作系统为iOS系统为例进行介绍。
监听到第一横竖屏切换事件之后,可以获取当前参数,并创建横屏窗口。在一些实施方式中,具体包括以下步骤:
(1)将当前播放视图palyerView在竖屏播放模式下的父视图(即上述第一父视图)记为contentView。
图3A为本申请实施例的一种竖屏视图层次架构示意图。如图3A所示,竖屏Window是移动终端的竖屏屏幕;竖屏视图控制器控制多个视图,其中包括当前播放视图palyerView的父视图contentView。contentView的尺寸可能等于竖屏Window、或者小于竖屏Window;图3A所示的示意图中,contentView的尺寸小于竖屏Window。
(2)创建一种UIWindow类实例对象,即播放视图在横屏播放模式下的播放窗口(可以简称为横屏窗口)playerWindow;创建playerWindow的根视图控制器playerVC;创建播放视图在playerVC下的父视图。该父视图即为播放视图在横屏播放模式下的第二父视图。可选地,该第二父视图的播放方向为横屏方向,并且第二父视图的背景色为透明。
图3B为本申请实施例的一种横屏视图层次架构示意图。如图3B所示,新建的横屏窗口playerWindow的尺寸与移动终端的横屏屏幕尺寸相同;横屏视图控制器playerVC控制多个视图,其中包括当前播放视图palyerView在横屏的父视图,该父视图的大小与屏幕大小相同,且背景色透明。
(3)在一些实施方式中,通过调用系统convert方法获取切换前播放视图playerView的尺寸及相对于竖屏屏幕Window的位置,将获取的前述信息记为lastFrame。
图3C为本申请实施例竖屏播放向横屏播放切换时,竖屏坐标系参数获取示意图。如图3C所示,移动终端在竖屏播放模式下,屏幕坐标系为直角坐标系,其原点为屏幕左上角位置,X轴为向右方向,Y轴为向下方向。
播放视图playerView相对于竖屏屏幕Window的位置,可以采用playerView的左上角在屏幕坐标系下的坐标表示,即:
x=lastFrame.origin.x;
y=lastFrame.origin.y;
w=lastFrame.width;
h=lastFrame.height。
其中,x、y分别为播放视图playerView的左上角在屏幕坐标系(移动终端竖放时)下的横坐标和纵坐标。w、h分别为播放视图playerView的宽和高。获取前述信息之后,将获取的信息记为lastFrame,包括lastFrame.origin.x、lastFrame.origin.y、lastFrame.width、lastFrame.height。
(4)根据获取的lastFrame,确定播放视图playerView的中心点在横屏播放模式的屏幕坐标系下的坐标、以及播放视图playerView在横屏播放模式的屏幕坐标系下的尺寸。图3D为本申请实施例竖屏播放向横屏播放切换时,横屏坐标系参数确定示意图。如图3D所示,播放视图playerView的中心点记为cpoint(x,y),播放视图playerView在横屏播放模式的屏幕坐标系下的宽和高分别为w和h,其中:
x=lastFrame.origin.y+lastFrame.height/2;
y=lastFrame.width/2+lastFrame.origin.x;
w=lastFrame.height;
h=lastFrame.width。
确定上述播放视图playerView的中心点在横屏播放模式的屏幕坐标系下的坐标之后,就可以对播放视频执行视图容器的迁移,并在迁移的同时对播放视图playerView执行与移动终端相同的旋转,即执行上述步骤S104。使得播放视图与竖屏时相比,方向、位置、大小在视觉上没有变化,此过程时间极短且用户无感知。
图4为本申请实施例的一种视频播放切换方法中,步骤S104的一种实现流程图。如图4所示,在一些实施方式中,上述步骤S104包括:
步骤S401:利用播放视图的尺寸及在第一播放模式的屏幕坐标系下的第一位置,确定播放视图的中心点在第二播放模式的屏幕坐标系下的第一坐标;
步骤S402:将播放视图迁移出第一父视图;
步骤S403:将播放视图迁移入第二父视图,并根据第一坐标确定播放视图的位置,对播放视图进行第一旋转操作。
其中,第一旋转操作包括将播放视图旋转与第一横竖屏切换事件对应的角度。例如,第一播放模式为竖屏播放模式,第二播放模式为横屏播放模式;移动终端从竖屏播放模式切换为横屏播放模式时,移动终端逆时针旋转了90度,则该第一旋转操作即为将播放视图逆时针旋转90度。相应的,与第一旋转操作相反的第二旋转操作即为将播放视图顺时针旋转90度。
图5为本申请实施例的一种竖屏向横屏切换的播放视图示意图。图5的左侧部分显示了图4所示的迁移过程。
可选地,该迁移过程具体可以包括:
(1)将播放视图从竖屏视图容器(即contentView)移除,添加进新创建的横屏窗口根视图控制器playerVC中播放视图的父视图中;
(2)调用iOS操作系统中的CGAffineTransform仿射变换方法,将播放视图根据横屏方向顺时针或逆时针中心旋转90度;
(3)设置播放视图的中心为cpoint,播放视图的大小不变。
上述迁移完成之后,可以执行上述步骤S105中的反向旋转及放大操作,以使播放视图横向显示、并填充至整个屏幕。上述方向旋转及放大操作可以采用动画形式,用户能够明显看到变化过程。这种播放视图分阶段的变换过程更符合用户的观看习惯,能够提高用户体验。
图5的右侧部分显示了上述反向旋转及放大过程。在一些实施方式中,可以采用渐入式动画模拟播放视图旋转同时由小变大的过程。可选地,调用iOS操作系统的animate核心动画方法,动画过程中以cpoint为中心,利用CGAffineTransform中identity属性将上述第一阶段中播放视图playerView的仿射变换恢复原状,并将尺寸逐渐变大到playerWindow大小,从视觉上就会产生播放视图从竖屏观看方向缓慢平滑地旋转为横屏观看方向,同时尺寸逐渐放大到填充横屏视图区域的效果。
以上介绍了从竖屏向横屏切换的过程。本申请实施例还可以由横屏切换回竖屏,切换过程与上述过程相反。
图6为本申请实施例的一种视频播放切换方法实现流程图二,如图6所示,上述步骤S105之后还可以包括:
步骤S606:监听第二横竖屏切换事件;该第二横竖屏切换事件为从第二播放模式向第一播放模式转换的切换事件;
步骤S607:将播放视图从第二父视图迁移至第一父视图,并对播放视图进行第三旋转操作,第三旋转操作包括将播放视图旋转与第二横竖屏切换事件对应的角度;
步骤S608:对播放视图进行第四旋转操作及缩小操作,第四旋转操作为与旋转操作相反的操作。
可选地,上述方式还包括:
步骤S609:释放上述播放窗口、播放窗口的根视图控制器及播放视图在根视图控制器下的父视图中的至少一项。
在一些实施方式中,如图7所示,上述步骤S607包括:
步骤S701:利用播放视图的尺寸及在第一父视图的坐标系下的第二位置,确定播放视图的中心点在第一父视图的坐标系下的第二坐标;
步骤S702:将播放视图迁移出第二父视图;
步骤S703:将播放视图迁移入第一父视图,并根据第二坐标确定播放视图的位置,对播放视图进行第三旋转操作。
其中,第三旋转操作包括将播放视图旋转与第二横竖屏切换事件对应的角度。例如,第一播放模式为竖屏播放模式,第二播放模式为横屏播放模式;移动终端从横屏播放模式切换回竖屏播放模式时,移动终端逆时针旋转了90度,则该第三旋转操作即为将播放视图逆时针旋转90度。相应的,与第三旋转操作相反的第四旋转操作即为将播放视图顺时针旋转90度。又如,移动终端从横屏播放模式切换回竖屏播放模式时,移动终端顺时针旋转了90度,则该第三旋转操作即为将播放视图顺时针旋转90度。相应的,与第三旋转操作相反的第四旋转操作即为将播放视图逆时针旋转90度。
图8A为本申请实施例横屏播放向竖屏播放切换时,竖屏坐标系参数获取示意图。如图8A所示,横屏播放切换回竖屏播放时,通过调用系统convert方法获取播放视图playerView的尺寸及在竖屏播放时的父视频坐标系下的位置,将获取的前述信息记为lastFrame。
如图8A所示,图中较小的矩形为播放视图在竖屏播放时的父视频,该父视图的坐标系为直角坐标系,其原点为该父视图的左上角位置,X轴为向右方向,Y轴为向下方向。此时播放视频为在屏幕上全屏播放。
播放视图playerView在竖屏播放时的父视频坐标系下的位置,可以采用playerView的左上角在竖屏播放时的父视频坐标系下的坐标表示,即:
x=lastFrame.origin.x;
y=lastFrame.origin.y;
w=lastFrame.width;
h=lastFrame.height。
其中,x、y分别为播放视图playerView的左上角在竖屏播放时的父视频坐标系下的横坐标和纵坐标。w、h分别为播放视图playerView的宽和高。获取前述信息之后,将获取的信息记为lastFrame,包括lastFrame.origin.x、lastFrame.origin.y、lastFrame.width、lastFrame.height。
之后,根据获取的lastFrame,确定播放视图playerView的中心点在竖屏播放时的父视频坐标系下的坐标。图8B为本申请实施例竖屏播放向横屏播放切换时,竖屏坐标系参数确定示意图。如图8B所示,播放视图playerView的中心点记为cpoint(x,y),其中:
x=lastFrame.origin.x+lastFrame.width/2;
y=lastFrame.height/2+lastFrame.origin.y。
确定上述播放视图playerView的中心点在竖屏播放时的父视频坐标系下的坐标之后,就可以对播放视频执行视图容器的迁移,并在迁移的同时对播放视图playerView执行与移动终端相同的旋转,即执行上述步骤S104。使得播放视图与竖屏时相比,方向、位置、大小在视觉上没有变化,此过程时间极短且用户无感知。
图8C为本申请实施例的一种横屏向竖屏切换的播放视图示意图。图8C的左侧部分显示了图7所示的迁移过程。
可选地,该迁移过程具体可以包括:
(1)将播放视图从横屏视图容器(即新创建的横屏窗口根视图控制器playerVC中播放视图的父视图)移除,添加进竖屏视图容器(即contentView)中;
(2)调用iOS操作系统中的CGAffineTransform仿射变换方法,将播放视图根据横屏方向顺时针或逆时针中心旋转90度;
(3)设置播放视图的中心为cpoint,播放视图的大小不变。
上述迁移完成之后,可以执行上述步骤S508中的反向旋转及缩小操作,以使播放视图竖向显示、并缩小至播放视图的父视图contentView。上述方向旋转及放缩小操作可以采用动画形式,用户能够明显看到变化过程。这种播放视图分阶段的变换过程更符合用户的观看习惯,能够提高用户体验。
图8C的右侧部分显示了上述反向旋转及缩小过程。在一些实施方式中,可以采用渐入式动画模拟播放视图旋转同时由大变小的过程。可选地,调用iOS操作系统的animate核心动画方法,动画过程中以cpoint为中心,利用CGAffineTransform中identity属性将上述第一阶段中播放视图playerView的仿射变换恢复原状,并将尺寸逐渐缩小到contentView大小,从视觉上就会产生播放视图从横屏观看方向缓慢平滑地旋转为竖屏观看方向,同时尺寸逐渐缩小到填充播放视图的父视图contentView的效果。
由上述过程可见,本申请实施例提出的横竖屏切换时触发iOS系统层面的横屏响应(坐标系发生变化),是真实的横屏,开发者与iOS系统认知统一,便于开发。在切换的过程中始终使用同一个播放器的播放视图,避免横竖两种不同方式对播放器创建及初始化的最低开销,保障了播放状态的持续性及稳定性。通过创建新的UIWindow窗口解决状态栏及其他自定义视图横屏适配问题,避免了单独视图不能更新状态栏的问题,适用于各种大屏播放场景。通过新的横屏视图控制器单独管理横屏播放时的各种状态及逻辑,能够提高开发效率。通过重置播放视图相对尺寸及中心点,仿射变换并复原的操作,在动画中模拟重现屏幕切换的过渡过程,达到横竖屏切换过程中渐进、平滑、无跳跃、无遮挡的最优体验。
本申请实施例还提出一种视频播放切换装置,图9为本申请实施例的一种视频播放切换装置900结构示意图,包括:
第一监听模块710,用于监听第一横竖屏切换事件;第一横竖屏切换事件为从第一播放模式向第二播放模式转换的切换事件;
确定模块720,用于确定播放视图在第一播放模式下的第一父视图;
创建模块730,用于创建播放视图在第二播放模式下的第二父视图;
第一迁移模块740,用于将播放视图从第一父视图迁移至第二父视图,并对播放视图进行第一旋转操作,第一旋转操作包括将播放视图旋转与第一横竖屏切换事件对应的角度;
第一反向旋转模块750,用于对播放视图进行第二旋转操作及放大操作,第二旋转操作为与第一旋转操作相反的操作。
可选地,上述第一播放模式包括竖屏播放模式,第二播放模式包括横屏播放模式。
可选地,上述第二父视图的播放方向为横屏方向,并且第二父视图的背景色为透明。
可选地,上述创建模块730,用于创建播放视图在第二播放模式下的播放窗口;创建播放窗口的根视图控制器;创建播放视图在根视图控制器下的父视图,将创建的父视图作为播放视图在第二播放模式下的第二父视图。
可选地,如图10所示,上述第一迁移模块740包括:
第一中心点确定子模块741,用于利用播放视图的尺寸及在第一播放模式的屏幕坐标系下的第一位置,确定播放视图的中心点在第二播放模式的屏幕坐标系下的第一坐标;
第一迁移子模块742,用于将播放视图迁移出第一父视图;将播放视图迁移入第二父视图,并根据第一坐标确定播放视图的位置,对播放视图进行第一旋转操作。
可选地,如图10所示,上述装置还包括:
第二监听模块760,用于监听第二横竖屏切换事件;第二横竖屏切换事件为从第二播放模式向第一播放模式转换的切换事件;
第二迁移模块770,用于将播放视图从第二父视图迁移至第一父视图,并对播放视图进行第三旋转操作,第三旋转操作包括将播放视图旋转与第二横竖屏切换事件对应的角度;
第二反向旋转模块780,用于对播放视图进行第四旋转操作及缩小操作,第四旋转操作为与第三旋转操作相反的操作。
释放模块790,用于释放播放窗口、播放窗口的根视图控制器及播放视图在根视图控制器下的父视图中的至少一项。
可选地,如图10所示,上述第二迁移模块770包括:
第二中心点确定子模块771,用于利用播放视图的尺寸及在第一父视图的坐标系下的第二位置,确定播放视图的中心点在第一父视图的坐标系下的第二坐标;
第二迁移子模块772,用于将播放视图迁移出第二父视图;将播放视图迁移入第一父视图,并根据第二坐标确定播放视图的位置,对播放视图进行第三旋转操作。
可选地,上述第一旋转操作、第二旋转操作、第三旋转操作或第四旋转操作的执行方式包括:调用操作系统的仿射变换方式执行旋转操作;
放大操作或缩小操作的执行方式包括:调用操作系统的核心动画方法,执行放大操作或缩小操作。
本申请实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
如图11所示,是根据本申请实施例的视频播放切换方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图11所示,该电子设备包括:一个或多个处理器1101、存储器1102,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图11中以一个处理器1101为例。
存储器1102即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的视频播放切换方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的视频播放切换方法。
存储器1102作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的视频播放切换方法对应的程序指令/模块(例如,附图9所示的第一监听模块710、确定模块720、创建模块730、第一迁移模块740和第一反向旋转模块750)。处理器1101通过运行存储在存储器1102中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的视频播放切换方法。
存储器1102可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据视频播放切换的电子设备的使用所创建的数据等。此外,存储器1102可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器1102可选包括相对于处理器1101远程设置的存储器,这些远程存储器可以通过网络连接至视频播放切换的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
视频播放切换方法的电子设备还可以包括:输入装置1103和输出装置1104。处理器1101、存储器1102、输入装置1103和输出装置1104可以通过总线或者其他方式连接,图11中以通过总线连接为例。
输入装置1103可接收输入的数字或字符信息,以及产生与视频播放切换的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置1104可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与虚拟专用服务器(VPS)服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (20)

1.一种视频播放切换方法,所述方法包括:
监听第一横竖屏切换事件;所述第一横竖屏切换事件为从第一播放模式向第二播放模式转换的切换事件;
确定播放视图在所述第一播放模式下的第一父视图;
创建所述播放视图在所述第二播放模式下的第二父视图;
将所述播放视图从所述第一父视图迁移至所述第二父视图,并对所述播放视图进行第一旋转操作,所述第一旋转操作包括将所述播放视图旋转与所述第一横竖屏切换事件对应的角度,所述播放视图在迁移后方向、位置和大小不变;
对所述播放视图进行第二旋转操作及放大操作,所述第二旋转操作为与所述第一旋转操作相反的操作。
2.根据权利要求1所述的方法,其中,所述第一播放模式包括竖屏播放模式,所述第二播放模式包括横屏播放模式。
3.根据权利要求2所述的方法,其中,所述第二父视图的播放方向为横屏方向,并且所述第二父视图的背景色为透明。
4.根据权利要求1至3任一所述的方法,其中,所述创建所述播放视图在所述第二播放模式下的第二父视图,包括:
创建所述播放视图在所述第二播放模式下的播放窗口;
创建所述播放窗口的根视图控制器;
创建所述播放视图在所述根视图控制器下的父视图,将创建的父视图作为所述播放视图在所述第二播放模式下的第二父视图。
5.根据权利要求4所述的方法,其中,所述将所述播放视图从所述第一父视图迁移至所述第二父视图,并对所述播放视图进行第一旋转操作,包括:
利用所述播放视图的尺寸及在所述第一播放模式的屏幕坐标系下的第一位置,确定所述播放视图的中心点在所述第二播放模式的屏幕坐标系下的第一坐标;
将所述播放视图迁移出所述第一父视图;
将所述播放视图迁移入所述第二父视图,并根据所述第一坐标确定所述播放视图的位置,对所述播放视图进行第一旋转操作。
6.根据权利要求4所述的方法,所述方法还包括:
监听第二横竖屏切换事件;所述第二横竖屏切换事件为从第二播放模式向第一播放模式转换的切换事件;
将所述播放视图从所述第二父视图迁移至所述第一父视图,并对所述播放视图进行第三旋转操作,所述第三旋转操作包括将所述播放视图旋转与所述第二横竖屏切换事件对应的角度;
对所述播放视图进行第四旋转操作及缩小操作,所述第四旋转操作为与所述第三旋转操作相反的操作。
7.根据权利要求6所述的方法,所述方法还包括:释放所述播放窗口、所述播放窗口的根视图控制器及所述播放视图在所述根视图控制器下的父视图中的至少一项。
8.根据权利要求6所述的方法,其中,所述将所述播放视图从所述第二父视图迁移至所述第一父视图,并对所述播放视图进行第三旋转操作,包括:
利用所述播放视图的尺寸及在所述第一父视图的坐标系下的第二位置,确定所述播放视图的中心点在所述第一父视图的坐标系下的第二坐标;
将所述播放视图迁移出所述第二父视图;
将所述播放视图迁移入所述第一父视图,并根据所述第二坐标确定所述播放视图的位置,对所述播放视图进行第三旋转操作。
9.根据权利要求6所述的方法,其中,所述第一旋转操作、第二旋转操作、第三旋转操作或第四旋转操作的执行方式包括:调用操作系统的仿射变换方式执行旋转操作;
所述放大操作或缩小操作的执行方式包括:调用操作系统的核心动画方法,执行所述放大操作或缩小操作。
10.一种视频播放切换装置,所述装置包括:
第一监听模块,用于监听第一横竖屏切换事件;所述第一横竖屏切换事件为从第一播放模式向第二播放模式转换的切换事件;
确定模块,用于确定播放视图在所述第一播放模式下的第一父视图;
创建模块,用于创建所述播放视图在所述第二播放模式下的第二父视图;
第一迁移模块,用于将所述播放视图从所述第一父视图迁移至所述第二父视图,并对所述播放视图进行第一旋转操作,所述第一旋转操作包括将所述播放视图旋转与所述第一横竖屏切换事件对应的角度,所述播放视图在迁移后方向、位置和大小不变;
第一反向旋转模块,用于对所述播放视图进行第二旋转操作及放大操作,所述第二旋转操作为与所述第一旋转操作相反的操作。
11.根据权利要求10所述的装置,其中,所述第一播放模式包括竖屏播放模式,所述第二播放模式包括横屏播放模式。
12.根据权利要求10或11所述的装置,其中,所述第二父视图的播放方向为横屏方向,并且所述第二父视图的背景色为透明。
13.根据权利要求10或11所述的装置,其中,
所述创建模块,用于创建所述播放视图在所述第二播放模式下的播放窗口;创建所述播放窗口的根视图控制器;创建所述播放视图在所述根视图控制器下的父视图,将创建的父视图作为所述播放视图在所述第二播放模式下的第二父视图。
14.根据权利要求13所述的装置,其中,所述第一迁移模块包括:
第一中心点确定子模块,用于利用所述播放视图的尺寸及在所述第一播放模式的屏幕坐标系下的第一位置,确定所述播放视图的中心点在所述第二播放模式的屏幕坐标系下的第一坐标;
第一迁移子模块,用于将所述播放视图迁移出所述第一父视图;将所述播放视图迁移入所述第二父视图,并根据所述第一坐标确定所述播放视图的位置,对所述播放视图进行第一旋转操作。
15.根据权利要求13所述的装置,所述装置还包括:
第二监听模块,用于监听第二横竖屏切换事件;所述第二横竖屏切换事件为从第二播放模式向第一播放模式转换的切换事件;
第二迁移模块,用于将所述播放视图从所述第二父视图迁移至所述第一父视图,并对所述播放视图进行第三旋转操作,所述第三旋转操作包括将所述播放视图旋转与所述第二横竖屏切换事件对应的角度;
第二反向旋转模块,用于对所述播放视图进行第四旋转操作及缩小操作,所述第四旋转操作为与所述第三旋转操作相反的操作。
16.根据权利要求15所述的装置,所述装置还包括:
释放模块,用于释放所述播放窗口、所述播放窗口的根视图控制器及所述播放视图在所述根视图控制器下的父视图中的至少一项。
17.根据权利要求15所述的装置,其中,所述第二迁移模块包括:
第二中心点确定子模块,用于利用所述播放视图的尺寸及在所述第一父视图的坐标系下的第二位置,确定所述播放视图的中心点在所述第一父视图的坐标系下的第二坐标;
第二迁移子模块,用于将所述播放视图迁移出所述第二父视图;将所述播放视图迁移入所述第一父视图,并根据所述第二坐标确定所述播放视图的位置,对所述播放视图进行第三旋转操作。
18.根据权利要求15所述的装置,其中,所述第一旋转操作、第二旋转操作、第三旋转操作或第四旋转操作的执行方式包括:调用操作系统的仿射变换方式执行旋转操作;
所述放大操作或缩小操作的执行方式包括:调用操作系统的核心动画方法,执行所述放大操作或缩小操作。
19.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。
20.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-9中任一项所述的方法。
CN202010745806.9A 2020-07-29 2020-07-29 一种视频播放切换方法、装置、电子设备及存储介质 Active CN111757164B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010745806.9A CN111757164B (zh) 2020-07-29 2020-07-29 一种视频播放切换方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010745806.9A CN111757164B (zh) 2020-07-29 2020-07-29 一种视频播放切换方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111757164A CN111757164A (zh) 2020-10-09
CN111757164B true CN111757164B (zh) 2022-08-26

Family

ID=72712530

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010745806.9A Active CN111757164B (zh) 2020-07-29 2020-07-29 一种视频播放切换方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111757164B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113747228B (zh) * 2021-09-17 2023-09-15 四川启睿克科技有限公司 一种实现智能旋转电视动态屏保的方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7317449B2 (en) * 2004-03-02 2008-01-08 Microsoft Corporation Key-based advanced navigation techniques
CN102685589B (zh) * 2012-05-04 2016-06-22 深圳Tcl新技术有限公司 视频窗口与信息窗口切换显示的方法和装置
CN104243668B (zh) * 2013-06-14 2016-12-28 广州市动景计算机科技有限公司 一种基于安卓操作系统的视频全屏播放方法及装置
CN105094763B (zh) * 2014-04-30 2019-08-23 广州市动景计算机科技有限公司 扩展视频功能的方法及系统
CN105306997B (zh) * 2014-05-30 2018-12-14 广州市动景计算机科技有限公司 移动终端播放方式切换方法及装置
CN105446585B (zh) * 2014-08-29 2019-03-15 优视科技有限公司 一种安卓智能终端浏览器视频显示方法及装置
CN105376413A (zh) * 2015-11-27 2016-03-02 努比亚技术有限公司 屏幕旋转方法、装置及移动终端
CN108260018B (zh) * 2017-02-13 2020-05-22 广州市动景计算机科技有限公司 网页视频的全屏设置方法、设备及网页视频设置移动设备
CN108574806B (zh) * 2017-03-09 2022-05-17 腾讯科技(深圳)有限公司 视频播放方法和装置
CN107818006B (zh) * 2017-10-31 2021-03-12 北京酷我科技有限公司 一种视频全屏播放的方法
CN108600855A (zh) * 2018-04-16 2018-09-28 北京酷我科技有限公司 一种竖版视频的实现方法
CN110336923B (zh) * 2019-07-16 2021-06-18 网易(杭州)网络有限公司 一种播放模式的切换方法、装置、电子设备及存储介质
CN110399064B (zh) * 2019-07-22 2023-10-27 腾讯科技(深圳)有限公司 显示界面的切换方法和装置、存储介质及电子装置
CN110913277A (zh) * 2019-11-29 2020-03-24 百度在线网络技术(北京)有限公司 一种视频播放方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN111757164A (zh) 2020-10-09

Similar Documents

Publication Publication Date Title
US10016679B2 (en) Multiple frame distributed rendering of interactive content
CN110636353B (zh) 一种显示设备
CN100481132C (zh) 用于显示器的合成速率降低
US10554926B1 (en) Media content presentation
CN105979339B (zh) 一种窗口显示方法及客户端
US20200296317A1 (en) Media content presentation
WO2018126957A1 (zh) 显示虚拟现实画面的方法和虚拟现实设备
KR102339205B1 (ko) 가상 장면 디스플레이 방법 및 디바이스, 및 저장 매체
WO2017113730A1 (zh) 复合用户界面控件的生成和控制方法及系统
CN103562862A (zh) 全局合成系统
CN103019536A (zh) 演示期间交互地缩放内容
CN105190701B (zh) 基于原语的合成系统及方法
KR20140133354A (ko) 디스플레이 장치 및 이의 ui 제공 방법
CN111757164B (zh) 一种视频播放切换方法、装置、电子设备及存储介质
US8917356B2 (en) Play control system and method
CN104462099A (zh) 一种信息处理方法及电子设备
CN113286181A (zh) 数据展示方法及装置
US20110175908A1 (en) Image Effect Display Method and Electronic Apparatus Thereof
US20150220254A1 (en) Information processing apparatus, information processing method
WO2020248682A1 (zh) 一种显示设备及虚拟场景生成方法
CN112169313A (zh) 一种游戏界面的设置方法及装置、电子设备、存储介质
WO2023134537A1 (zh) 分屏特效道具生成方法、装置、设备和介质
US11948257B2 (en) Systems and methods for augmented reality video generation
CN111726687B (zh) 用于生成显示数据的方法和装置
US20240163516A1 (en) Live streaming interface display method, device, apparatus, storage medium and program product

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant