CN106792089A - 视频播放方法和装置 - Google Patents
视频播放方法和装置 Download PDFInfo
- Publication number
- CN106792089A CN106792089A CN201611162032.7A CN201611162032A CN106792089A CN 106792089 A CN106792089 A CN 106792089A CN 201611162032 A CN201611162032 A CN 201611162032A CN 106792089 A CN106792089 A CN 106792089A
- Authority
- CN
- China
- Prior art keywords
- view
- played
- suspended window
- player
- module
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation 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
- H04N21/4316—Generation 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 for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
Landscapes
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明涉及一种视频播放方法和装置。所述方法包括:在播放信息流界面检索有播放视图,获取待播放视图;将所述待播放视图传递给预先创建的悬浮窗播放器;根据所述待播放视图封装所述悬浮窗播放器的播放组件;启动封装后的悬浮窗播放器播放所述待播放视图。上述视频播放方法和装置,在播放信息流界面检索到有播放视图,获取待播放视图,将待播放视图传递给悬浮窗播放器,通过悬浮窗播放器播放待播放视图,不需要将不同的播放视图插拔在不同的播放器上,降低了系统性能消耗。
Description
技术领域
本发明涉及网络通信领域,特别是涉及一种视频播放方法和装置。
背景技术
随着网络技术的发展,出现了越来越多的视频播放网站。用户在视频播放网站上选择需要播放的视图,即可进行视图播放。
传统的视频播放方式是在需要播放的视图上包含有一个播放器的外壳,当该视图需要当前播放时,将播放器视图渲染在外壳上。如果当前界面有很多需要当前播放的视图,就需要不停的插拔播放器视图到不同的外壳上,导致系统性能消耗较大。
发明内容
基于此,有必要针对传统的视频播放方式导致系统性能消耗大的问题,提供一种视频播放方法和装置,能降低系统性能消耗。
一种视频播放方法,包括:
在播放信息流界面检索有播放视图,获取待播放视图;
将所述待播放视图传递给预先创建的悬浮窗播放器;
根据所述待播放视图封装所述悬浮窗播放器的播放组件;
启动封装后的悬浮窗播放器播放所述待播放视图。
一种视频播放装置,包括:
数据获取模块,用于在播放信息流界面检索有播放视图,获取待播放视图;
数据传递模块,用于将所述待播放视图传递给预先创建的悬浮窗播放器;
封装模块,用于根据所述待播放视图封装所述悬浮窗播放器的播放组件;
播放模块,用于启动封装后的悬浮窗播放器播放所述待播放视图。
上述视频播放方法和装置,在播放信息流界面检索到有播放视图,获取待播放视图,将待播放视图传递给悬浮窗播放器,通过悬浮窗播放器播放待播放视图,不需要将不同的播放视图插拔在不同的播放器上,降低了系统性能消耗。
附图说明
图1为一个实施例中终端的内部结构示意图;
图2为一个实施例中视频播放方法的流程图;
图3为一个实施例中竖向滑动feed流的示意图;
图4为一个实施例中横向滑动feed流的示意图;
图5为一个实施例中悬浮窗播放器悬浮在应用程序界面之上的示意图;
图6为一个实施例中悬浮窗播放器在终端的桌面上播放的示意图;
图7为一个实施例中悬浮窗播放器的框架示意图;
图8为另一个实施例中视频播放方法的流程图;
图9为一个实施例中视频播放装置的结构框图;
图10为另一个实施例中视频播放装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中终端的内部结构示意图。如图1所示,该终端包括通过系统总线连接的处理器、非易失性存储介质、内存储器、网络接口、显示屏和输入装置。其中,终端的非易失性存储介质存储有操作系统,还包括一种视频播放装置,该视频播放装置用于实现一种视频播放方法。该处理器用于提供计算和控制能力,支撑整个终端的运行。终端中的内存储器为非易失性存储介质中的视频播放装置的运行提供环境,该内存储器中可储存有计算机可读指令,该计算机可读指令被所述处理器执行时,可使得所述处理器执行一种视频播放方法。网络接口用于与服务器进行网络通信,如发送视频数据请求至服务器,接收服务器返回的视频数据等。终端的显示屏可以是液晶显示屏或者电子墨水显示屏等,输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该终端可以是智能手机、平板电脑、个人数字助理或穿戴式设备等。本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图2为一个实施例中视频播放方法的流程图。如图2所示,一种视频播放方法,运行于图1中的终端上,包括步骤202至步骤208。其中:
步骤202,在播放信息流界面检索有播放视图,获取待播放视图。
本实施例中,播放信息流是指feed流。播放信息流界面是指feed流界面,用于展示信息流的界面。在播放信息流界面上可能展示有一个或多个播放视图。视图中包含一系列带有名称的列和行数据。播放视图是指需要通过播放器播放的视频数据或图像数据等。在播放信息流界面可自动检索是否有播放视图,若有播放视图,则获取待播放视图及对应的,若否,则结束。待播放视图是指从检索到的播放视图中所选取的需要被播放的视频数据或图像数据等。
终端在播放信息流界面检索有播放视图时,可通过点播方式或直播轮询方式获取待播放视图。
步骤204,将所述待播放视图传递给预先创建的悬浮窗播放器。
本实施例中,悬浮窗播放器是指将播放器添加到悬浮窗视图中形成的。悬浮窗播放器可预先创建得到。悬浮窗视图的窗口参数可预先设定,窗口参数包括窗口类型、窗口初始大小、窗口背景、窗口位置等。
步骤206,根据所述待播放视图封装所述悬浮窗播放器的播放组件。
本实施例中,播放组件可包括播放视图的UI(User Interface,用户界面)渲染组件、实现业务逻辑层的播放插件等。根据待播放视图封装悬浮窗播放器的播放组件包括通过播放视图的UI渲染组件实现播放视图的UI渲染,以及通过播放插件实现业务逻辑层的封装等。
步骤208,启动封装后的悬浮窗播放器播放所述待播放视图的。
本实施例中,通过悬浮窗播放器播放待播放视图。
本实施例中视频播放方法,在播放信息流界面检索到有播放视图,获取待播放视图,将待播放视图传递给悬浮窗播放器,通过悬浮窗播放器播放待播放视图,不需要将不同的播放视图插拔在不同的播放器上,降低了系统性能消耗。
在一个实施例中,所述获取待播放视图,包括:接收点播指令,根据所述点播指令获取待播放视图。
本实施例中,点播是指对指定视频进行播放。点播指令是指检测到用户触发某个播放视图的播放控件产生的播放指令。可获取产生点播指令的触发坐标位置等确定待播放视图。接收到点播指令后,可根据点播指令从服务器拉取剧集或关注列表等。提供点播方式,方便用户及时播放所需要播放的视频数据。
在一个实施例中,所述获取待播放视图,包括:根据直播轮询方式获取待播放视图及对应的。
本实施例中,直播轮询方式是指按照预设顺序轮询获取播放视图进行播放的一种方式。提供直播轮询方式,可实现自动播放。
在一个实施例中,上述视频播放方法还包括:在播放所述待播放视图时,预加载预设数量视频数据。
本实施例中,在播放待播放视图时,可以预加载预设数量视频数据。预设数量可根据需要设定,如3个、5个等。预设数量视频数据可为当前正在播放的播放视图后续的播放视图,也就是预加载采用后向预加载。当然也可以采用前向预加载或者前向预加载和后向预加载结合方式。本实施例中,通过预加载预设数量视频数据,可实现不同播放流切换的无缝过渡。
在一个实施例中,上述视频播放方法还包括:在所述悬浮窗播放器上检测到手势信息,识别所述手势信息得到对应的手势指令;根据所述手势指令控制所述悬浮窗播放器执行相应的动作。
本实施例中,手势信息是指用户通过手指或触控笔等手势输入设备输入的手势数据。通过手势可控制悬浮窗播放器的位置和大小,满足用户多样化的需求。
进一步地,若所述手势指令为移动指令,则控制所述悬浮窗播放器移动,更新移动后所述悬浮窗播放器的位置。
本实施例中,预先建立终端屏幕的坐标系,记录悬浮窗播放器移动前的坐标位置以及悬浮窗播放器移动后的坐标位置。
进一步地,若所述手势指令为多点触控指令,则控制所述悬浮窗播放器进行放大或缩小,更新放大或缩小后的悬浮窗播放器的大小和位置。
本实施例中,检测到多点触控时触控点之间的距离增大,则生成放大指令;检测到多点触控时触控点之间的距离缩小,则生成缩小指令。
在一个实施例中,上述视频播放方法还包括:若检测到终端的屏幕发生旋转或检测到对全屏控件的触发操作,则控制所述悬浮窗播放器进入全屏播放模式。
本实施例中,通过陀螺仪或方向传感器检测到终端的屏幕发生旋转,则生成全屏切换指令,控制悬浮窗播放器进入全屏播放模式。通过屏幕旋转机制控制进入全屏播放模式,不需断流重新加载,实现播放流的无缝切换。
在悬浮窗播放器中显示有全屏控件,获取到用户对全屏控件的触发操作,生成全屏播放指令,根据该全屏播放指令控制悬浮窗播放器进入全屏播放模式。
当悬浮窗播放器处于全屏播放模式时,接收到恢复原始窗口大小的触发指令,则将悬浮窗播放器的窗口大小恢复到原始窗口大小。
在一个实施例中,上述视频播放方法还包括:在所述播放信息流界面接收到滑动控制指令;根据所述滑动控制指令控制所述播放信息流界面进行移动;检测到滑动停止,获取在所述播放信息流界面的预设区域内的播放视图;通过悬浮窗播放器播放所述预设区域内的播放视图。
本实施例中,播放信息流界面可以将一个或多个播放视图横向展示,也可以竖向展示。若横向展示,则滑动控制指令为检测到在播放信息流界面上横向滑动产生的滑动控制指令。若竖向展示,则滑动控制指令为检测到在播放信息流界面上竖向滑动产生的滑动控制指令。
预设区域是指预先设定的用于捕捉要播放视图的区域。当检测到滑动停止时,获取在播放信息流界面的预设区域内的播放视图,通过悬浮窗播放器播放该播放视图。
图3为一个实施例中竖向滑动feed流的示意图。如图3所示,播放信息流界面中信息流在竖直方向上展示,例如,从上到下依次展示的信息流包括32、34和36。若竖直向上滑动,则信息流32、34、36向下移动;若竖直向下滑动,则信息流32、34、36向上移动。上下滑动时,自动检索播放视图,切换视频时不需重复创建播放器,只需将播放数据传递给悬浮窗播放器即可播放,实现了滑动的流畅性。
图4为一个实施例中横向滑动feed流的示意图。播放信息流界面中信息流在水平方向上展示,例如,从左到右依次展示的信息流包括42、44和46。若水平向左滑动,则信息流42、44、46向右移动;若水平向右滑动,则信息流42、44、46向左移动。左右滑动时,自动检索播放视图,切换视频时不需重复创建播放器,只需将播放数据传递给悬浮窗播放器即可播放,实现了滑动的流畅性。
在一个实施例中,上述视频播放方法还包括:启动用于播放的主进程和服务进程,并建立所述主进程与服务进程之间通信;将所述服务进程与悬浮窗视图绑定;创建悬浮窗视图的窗口管理器;初始化播放器,并将播放器加入到所述悬浮窗视图的窗口管理器中形成悬浮窗播放器。
本实施例中,主进程是用于支持视频播放的主要进程,用于获取在播放信息流界面的操作及播放视图数据等。服务进程是单独用来支持悬浮窗播放器的承载。通过主进程与服务进程可以实现悬浮窗播放器的跨进程通信。将服务进程与悬浮窗视图绑定是使服务进程独立为悬浮窗视图服务。创建悬浮窗视图的窗口管理器,通过窗口管理器配置悬浮窗视图的窗口类型、窗口初始大小、窗口背景、窗口位置等窗口视图显示参数。初始化播放器是初始化播放器的一些参数,如播放器窗口大小、播放器的控件等。
所述将所述待播放视图传递给预先创建的悬浮窗播放器,包括:通过所述主进程将所述待播放视图传递给所述服务进程,并由所述服务进程通过事件总线将所述待播放视图传递给所述悬浮窗播放器。
本实施例中,通过主进程获取待播放视图,并传递给服务进程,实现了悬浮窗播放器跨进程间通信,且悬浮窗播放器由服务进程单独支持,可以使得悬浮窗适应各种播放场景,如可支持画中画播放、跟随模式、常驻悬浮播放,满足用户在多应用浏览模式下的播放需求。
在一个实施例中,上述视频播放方法还包括:在所述播放信息流界面移动时,触发所述悬浮窗播放器进入跟随模式。
本实施例中,因播放信息流界面中信息流移动,悬浮窗播放器会跟随移动,避免悬浮窗播放器无法在播放信息流界面的显示窗口中显示。
在一个实施例中,上述视频播放方法还包括:接收到界面切换指令;根据所述界面切换指令切换到对应的应用程序界面,将所述悬浮窗播放器悬浮在所述应用程序界面之上,控制所述悬浮窗播放器进入应用常驻模式。
本实施例中,界面切换指令是指从一个界面切换到另一个界面的指令。在终端上用户需要与应用程序进行交互时,通常需要切换到对应的应用程序界面,即将该应用程序切换到终端的最前端。接收到界面切换指令后,切换到对应的应用程序界面,为了保证用户可查看到视频播放,可控制悬浮窗播放器进入应用常驻模式,使得悬浮窗播放器悬浮在应用程序界面之上。
图5为一个实施例中悬浮窗播放器悬浮在应用程序界面之上的示意图。如图5所示,终端接收到界面切换指令后从悬浮窗播放器界面54切换到应用程序界面52,悬浮窗播放器界面54悬浮在应用程序界面52之上,若应用程序界面52为一个视频播放界面,则可以实现画中画播放。
在一个实施例中,上述视频播放方法还包括:接收到关闭应用程序指令,则关闭应用程序,并将所述悬浮窗播放器悬浮在终端的桌面上,控制所述悬浮窗播放器进入终端悬浮常驻模式。
本实施例中,关闭应用程序时,悬浮窗播放器可悬浮在终端的桌面上。桌面是指终端登录系统后呈现的主屏幕区域。
图6为一个实施例中悬浮窗播放器在终端的桌面上播放的示意图。如图6所示,悬浮窗播放器64悬浮在终端的桌面62上播放。
图7为一个实施例中悬浮窗播放器的框架示意图。如图7所示,悬浮窗播放器的框架包括视图层710、控制层720和底层730。
视图层710包括Remote Service FloatView WindowManager(远程服务悬浮窗视图窗口管理器)。通过远程启动单独Service进程来支持悬浮窗播放器的承载,实现悬浮窗播放器的跨进程通信。在启动Service进程(服务进程)的过程中绑定FloatView(悬浮窗视图),通过FloatView获取WindowManager(窗口管理器),设置悬浮窗视图的窗口视图显示参数,包括窗口类型、窗口初始大小、窗口背景、窗口位置等。同时将播放器绘制层视图GLSurfaceView添加到悬浮窗视图的窗口视图中。Service进程通过AIDL(AndroidInterface Definition Language,内部进程通信接口描述语言)方式实现播放内核的开始/结束等事件的回调到主进程;同时主进程传递播放数据(如播放视图)到Service进程。
控制层720包括FloatPlayerAdapterController(悬浮播放总控制器)、PlayerAnimationController(动画控制器)、PlayerGestureRotationController(旋转手势控制器)、PlayerScrollerController(滑动控制器)、PlayerExposureAlgorithmsController(视图曝光算法控制器)、PlayerVideoPreLoadController(预加载控制器)、PlayerAgentController(播放代理控制器)。悬浮播放总控制器FloatPlayerAdapterController实现播放视图控制逻辑层。其中:
(1)滑动控制器PlayerScrollerController负责悬浮窗和feed流视图的滑动联动控制,监听竖向/横向滑动事件MotionEvent,同步更新悬浮窗播放器的位置。
滑动控制器可用于监听到feed流界面滑动时,可控制悬浮窗播放器跟随feed流滑动;监听到滑动事件时,更新悬浮窗播放器的位置。
(2)视图曝光算法控制器PlayerExposureAlgorithmsController负责根据人眼视觉中心检索需要实现播放的视图,主要是设置预设区域,例如预设区域为屏幕正中心,则检索屏幕正中心处的需要实现播放的视图。
(3)预加载控制器PlayerVideoPreLoadController负责检索需要预加载的播放视图。
(4)播放代理控制器PlayerAgentController负责点播推荐加载,以及直播定时轮询状态切换。
播放代理控制器可获取点播的播放视图,以及直播轮询方式获取播放视图。
(5)旋转手势控制器PlayerGestureRotationController负责悬浮窗用户手势的监听控制,实现悬浮窗的大小控制以及小窗/全屏无缝切换控制。
(6)动画控制器PlayerAnimationController负责悬浮窗旋转以及缩放的动画实现。
底层730包括BaseModel(基础模型)、MediaPlayer(多媒体播放)、PlayerPluginFactory(播放插件工厂)、PlayerUIFactory(播放视图工厂)。播放器事件采用EvenBus方式传递,通过事件拦截和恢复机制控制事件传递策略,采用插件方式实现播放组件封装,包括:通过播放视图工厂PlayerUIFactory来负责具体播放视图的UI渲染;通过播放插件工厂PlayerPluginFactory实现业务逻辑层的封装。
图8为另一个实施例中视频播放方法的流程图。如图8所示,一种视频播放方法,包括:
步骤802,开始。
步骤804,启动用于播放的主进程和服务进程,并建立主进程与服务进程之间通信。
本实施例中,启动Remote Service进程(服务进程),并建立服务进程与主进程之间的通信。主进程是用于支持视频播放的主要进程,用于获取在播放信息流界面的操作及播放视图数据等。
步骤806,将服务进程与悬浮窗视图绑定。
本实施例中,将服务进程与悬浮窗视图(FloatView)绑定是使服务进程独立为悬浮窗视图服务。
步骤808,创建并初始化悬浮窗视图的窗口管理器。
本实施例中,创建悬浮窗视图的窗口管理器,通过窗口管理器配置悬浮窗视图的窗口类型、窗口初始大小、窗口背景、窗口位置等窗口视图显示参数。
步骤810,初始化播放器,并将播放器加入到悬浮窗视图的窗口管理器中形成悬浮窗播放器。
本实施例中,初始化播放器是初始化播放器的一些参数,如播放器窗口大小、播放器的控件等。
步骤812,检测是否进入播放信息流界面,若是,执行步骤814,若否,结束。
本实施例中,播放信息流界面是指feed流界面,用于展示信息流的界面。
步骤814,在播放信息流界面检索是否包含有播放视图,若是,执行步骤816,若否,结束。
本实施例中,在当前播放信息流界面检索是否包含有播放视图。播放视图是指需要通过播放器播放的视频数据或图像数据等。
步骤816,判断是否接收到点播指令,若是,执行步骤818,若否,执行不足820。
步骤818,根据点播指令获取待播放视图,再执行步骤822。
本实施例中,主进程检测是否接收到点播指令,若接收到,则根据点播指令获取待播放视图,若否,则以直播轮询方式获取待播放视图。直播轮询方式是指按照预设顺序轮询获取播放视图进行播放的一种方式。
步骤820,以直播轮询方式获取待播放视图,再执行步骤822。
步骤822,将待播放视图传递到服务进程。
具体地,主进程将待播放视图传递给服务进程。
步骤824,配置悬浮窗播放视图。
步骤824包括:
步骤8242,将待播放视图通过事件总线传递给悬浮窗播放器。
步骤8244,通过播放视图的用户界面渲染组件渲染播放视图。
步骤8246,通过播放插件组件封装业务逻辑。
步骤826,启动封装后的悬浮窗播放器播放待播放视图。
步骤828,启动预加载控制器,预加载预设数量视频数据。
本实施例中,预设数量可根据需要设定,如3个、5个等。预设数量视频数据可为当前正在播放的播放视图后续的播放视图,也就是预加载采用后向预加载。当然也可以采用前向预加载或者前向预加载和后向预加载结合方式。
步骤830,通过滑动控制器检测滑动事件。
步骤832,判断滑动是否停止,若是,执行步骤834,若否,结束。
步骤834,执行悬浮播放策略。
本实施例中,通过滑动控制器检测到的滑动事件为在播放信息流界面滑动,则触发悬浮窗播放器进入跟随模式。
滑动事件为滑动到需要播放的视图时,停止滑动后会获取在播放信息流界面预设区域内的播放视图,启动悬浮窗播放器播放预设区域内的播放视图,并同时触发检索后续需要播放的播放视图。
步骤836,判断是否需要停止当前播放,若否,结束,若是,则执行步骤838。
步骤838,启动曝光视觉算法控制器,再执行步骤814。
本实施例中,当检测到停止当前播放时,通过曝光视觉算法控制器在播放信息流界面自动搜索是否包含有播放视图。
步骤840,通过旋转手势控制器检测对悬浮窗播放器的手势信息。
步骤842,判断是否检测到移动手势,若是,执行步骤848,若否,执行步骤844。
步骤844,判断是否为多点触控,若是,执行步骤848,若否,执行步骤846。
步骤846,判断是否为旋转屏幕或点击全屏,若是,执行步骤848,若否,结束。
步骤848,更新悬浮窗播放器位置和大小。
本实施例中视频播放方法,在播放信息流界面检索到有播放视图,获取待播放视图,将待播放视图传递给悬浮窗播放器,通过悬浮窗播放器播放待播放视图,不需要将不同的播放视图插拔在不同的播放器上,降低了系统性能消耗;采用悬浮窗播放器播放视图,在播放信息流界面滑动时,自动检索播放视图,切换视频时无需重复创建播放器,实现了滑动的流畅性;采用预加载机制,实现不同播放流切换的无缝过渡;小窗/全屏采用界面旋转机制,无需断流重新加载,实现播放流的无缝切换;播放组件采用独立服务进程实现,满足各种场景下的悬浮窗播放;通过手势控制悬浮窗播放器位置和大小,满足用户多样化的需求;采用独立服务进程支持悬浮窗播放器,可实现跨进程播放或退出应用后浏览其他应用仍继续播放场景。
图9为一个实施例中视频播放装置的结构框图。如图9所示,一种视频播放装置,为实现图2中视频播放方法的视频播放装置,描述不详细之处参考方法中描述,包括数据获取模块902、数据传递模块904、封装模块906和播放模块908。其中:
数据获取模块902用于在播放信息流界面检索有播放视图,获取待播放视图。
数据传递模块904用于将所述待播放视图传递给预先创建的悬浮窗播放器。
封装模块906用于根据所述待播放视图封装所述悬浮窗播放器的播放组件。
播放模块908用于启动封装后的悬浮窗播放器播放所述待播放视图。
本实施例中视频播放装置,在播放信息流界面检索到有播放视图,获取待播放视图,将待播放视图传递给悬浮窗播放器,通过悬浮窗播放器播放待播放视图,不需要将不同的播放视图插拔在不同的播放器上,降低了系统性能消耗。
进一步地,所述数据获取模块902还用于接收点播指令,根据所述点播指令获取待播放视图;或者,根据直播轮询方式获取待播放视图。
本实施例中,点播是指对指定视频进行播放。点播指令是指检测到用户触发某个播放视图的播放控件产生的播放指令。可获取产生点播指令的触发坐标位置等确定待播放视图。接收到点播指令后,可根据点播指令从服务器拉取剧集或关注列表等。提供点播方式,方便用户及时播放所需要播放的视频数据。直播轮询方式是指按照预设顺序轮询获取播放视图进行播放的一种方式。提供直播轮询方式,可实现自动播放。
图10为另一个实施例中视频播放装置的结构框图。如图10所示,一种视频播放装置,除了包括数据获取模块902、数据传递模块904、封装模块906和播放模块908,还包括预加载模块910、手势识别模块912、手势控制模块914、播放模式切换模块916、滑动控制模块918、播放视图捕捉模块920、进程建立模块922、绑定模块924、创建模块926、生成模块928、模式控制模块930、界面切换指令接收模块932和界面切换模块934。
预加载模块910用于在播放所述待播放视图时,预加载预设数量视频数据。
本实施例中,在播放待播放视图时,可以预加载预设数量视频数据。预设数量可根据需要设定,如3个、5个等。预设数量视频数据可为当前正在播放的播放视图后续的播放视图,也就是预加载采用后向预加载。当然也可以采用前向预加载或者前向预加载和后向预加载结合方式。本实施例中,通过预加载预设数量视频数据,可实现不同播放流切换的无缝过渡。
手势识别模块912用于在所述悬浮窗播放器上检测到手势信息,识别所述手势信息得到对应的手势指令。
手势控制模块914用于根据所述手势指令控制所述悬浮窗播放器执行相应的动作。
手势控制模块914还用于若所述手势指令为移动指令,则控制所述悬浮窗播放器移动,更新移动后所述悬浮窗播放器的位置;以及若所述手势指令为多点触控指令,则控制所述悬浮窗播放器进行放大或缩小,更新放大或缩小后的悬浮窗播放器的大小和位置。
本实施例中,检测到多点触控时触控点之间的距离增大,则生成放大指令;检测到多点触控时触控点之间的距离缩小,则生成缩小指令。
播放模式切换模块916用于若检测到终端的屏幕发生旋转或检测到对全屏控件的触发操作,则控制所述悬浮窗播放器进入全屏播放模式。
本实施例中,通过陀螺仪或方向传感器检测到终端的屏幕发生旋转,则生成全屏切换指令,控制悬浮窗播放器进入全屏播放模式。通过屏幕旋转机制控制进入全屏播放模式,不需断流重新加载,实现播放流的无缝切换。
在悬浮窗播放器中显示有全屏控件,获取到用户对全屏控件的触发操作,生成全屏播放指令,根据该全屏播放指令控制悬浮窗播放器进入全屏播放模式。
当悬浮窗播放器处于全屏播放模式时,接收到恢复原始窗口大小的触发指令,则将悬浮窗播放器的窗口大小恢复到原始窗口大小。
滑动控制模块918用于在所述播放信息流界面接收到滑动控制指令,以及根据所述滑动控制指令控制所述播放信息流界面进行移动。
本实施例中,播放信息流界面可以将一个或多个播放视图横向展示,也可以竖向展示。若横向展示,则滑动控制指令为检测到在播放信息流界面上横向滑动产生的滑动控制指令。若竖向展示,则滑动控制指令为检测到在播放信息流界面上竖向滑动产生的滑动控制指令。
播放视图捕捉模块920用于检测到滑动停止,获取在所述播放信息流界面的预设区域内的播放视图。
预设区域是指预先设定的用于捕捉要播放视图的区域。当检测到滑动停止时,获取在播放信息流界面的预设区域内的播放视图,通过悬浮窗播放器播放该播放视图。
所述播放模块908还用于通过悬浮窗播放器播放所述预设区域内的播放视图。
进程建立模块922用于启动用于播放的主进程和服务进程,并建立所述主进程与服务进程之间通信。
绑定模块924用于将所述服务进程与悬浮窗视图绑定。
创建模块926用于创建悬浮窗的窗口管理器。
生成模块928用于初始化播放器,并将播放器加入到所述悬浮窗的窗口管理器中形成悬浮窗播放器。
所述数据传递模块904还用于通过所述主进程将所述待播放视图传递给所述服务进程,并由所述服务进程通过事件总线将所述待播放视图传递给所述悬浮窗播放器。
模式控制模块930用于在所述播放信息流界面移动时,触发所述悬浮窗播放器进入跟随模式。
界面切换指令接收模块932用于接收到界面切换指令。
界面切换模块934用于根据所述界面切换指令切换到对应的应用程序界面,将所述悬浮窗播放器悬浮在所述应用程序界面之上。
在其他实施例中,一种视频播放装置可包括数据获取模块902、数据传递模块904、封装模块906、播放模块908、预加载模块910、手势识别模块912、手势控制模块914、播放模式切换模块916、滑动控制模块918、播放视图捕捉模块920、进程建立模块922、绑定模块924、创建模块926、生成模块928、模式控制模块930、界面切换指令接收模块932和界面切换模块934所有可能的组合。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (20)
1.一种视频播放方法,包括:
在播放信息流界面检索有播放视图,获取待播放视图;
将所述待播放视图传递给预先创建的悬浮窗播放器;
根据所述待播放视图封装所述悬浮窗播放器的播放组件;
启动封装后的悬浮窗播放器播放所述待播放视图。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在播放所述待播放视图时,预加载预设数量视频数据。
3.根据权利要求1所述的方法,其特征在于,所述获取待播放视图,包括:
接收点播指令,根据所述点播指令获取待播放视图;
或者,根据直播轮询方式获取待播放视图。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述悬浮窗播放器上检测到手势信息,识别所述手势信息得到对应的手势指令;
根据所述手势指令控制所述悬浮窗播放器执行相应的动作。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述手势指令为移动指令,则控制所述悬浮窗播放器移动,更新移动后所述悬浮窗播放器的位置;
若所述手势指令为多点触控指令,则控制所述悬浮窗播放器进行放大或缩小,更新放大或缩小后的悬浮窗播放器的大小和位置。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若检测到终端的屏幕发生旋转或检测到对全屏控件的触发操作,则控制所述悬浮窗播放器进入全屏播放模式。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述播放信息流界面接收到滑动控制指令;
根据所述滑动控制指令控制所述播放信息流界面进行移动;
检测到滑动停止,获取在所述播放信息流界面的预设区域内的播放视图;
通过悬浮窗播放器播放所述预设区域内的播放视图。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:
启动用于播放的主进程和服务进程,并建立所述主进程与服务进程之间通信;
将所述服务进程与悬浮窗视图绑定;
创建悬浮窗视图的窗口管理器;
初始化播放器,并将播放器加入到所述悬浮窗视图的窗口管理器中形成悬浮窗播放器;
将所述待播放视图传递给预先创建的悬浮窗播放器,包括:
通过所述主进程将所述待播放视图传递给所述服务进程,并由所述服务进程通过事件总线将所述待播放视图传递给所述悬浮窗播放器。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
在所述播放信息流界面移动时,触发所述悬浮窗播放器进入跟随模式。
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
接收到界面切换指令;
根据所述界面切换指令切换到对应的应用程序界面,将所述悬浮窗播放器悬浮在所述应用程序界面之上。
11.一种视频播放装置,其特征在于,包括:
数据获取模块,用于在播放信息流界面检索有播放视图,获取待播放视图;
数据传递模块,用于将所述待播放视图传递给预先创建的悬浮窗播放器;
封装模块,用于根据所述待播放视图封装所述悬浮窗播放器的播放组件;
播放模块,用于启动封装后的悬浮窗播放器播放所述待播放视图。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
预加载模块,用于在播放所述待播放视图时,预加载预设数量视频数据。
13.根据权利要求11所述的装置,其特征在于,所述数据获取模块还用于接收点播指令,根据所述点播指令获取待播放视图;或者,根据直播轮询方式获取待播放视图。
14.根据权利要求11所述的装置,其特征在于,所述装置还包括:
手势识别模块,用于在所述悬浮窗播放器上检测到手势信息,识别所述手势信息得到对应的手势指令;
手势控制模块,用于根据所述手势指令控制所述悬浮窗播放器执行相应的动作。
15.根据权利要求14所述的装置,其特征在于,所述手势控制模块还用于若所述手势指令为移动指令,则控制所述悬浮窗播放器移动,更新移动后所述悬浮窗播放器的位置;以及
若所述手势指令为多点触控指令,则控制所述悬浮窗播放器进行放大或缩小,更新放大或缩小后的悬浮窗播放器的大小和位置。
16.根据权利要求11所述的装置,其特征在于,所述装置还包括:
播放模式切换模块,用于若检测到终端的屏幕发生旋转或检测到对全屏控件的触发操作,则控制所述悬浮窗播放器进入全屏播放模式。
17.根据权利要求11所述的装置,其特征在于,所述装置还包括:
滑动控制模块,用于在所述播放信息流界面接收到滑动控制指令,以及根据所述滑动控制指令控制所述播放信息流界面进行移动;
播放视图捕捉模块,用于检测到滑动停止,获取在所述播放信息流界面的预设区域内的播放视图;
所述播放模块还用于通过悬浮窗播放器播放所述预设区域内的播放视图。
18.根据权利要求11至17中任一项所述的装置,其特征在于,所述装置还包括:
进程建立模块,用于启动用于播放的主进程和服务进程,并建立所述主进程与服务进程之间通信;
绑定模块,用于将所述服务进程与悬浮窗视图绑定;
创建模块,用于创建悬浮窗的窗口管理器;
生成模块,用于初始化播放器,并将播放器加入到所述悬浮窗的窗口管理器中形成悬浮窗播放器;
所述数据传递模块还用于通过所述主进程将所述待播放视图传递给所述服务进程,并由所述服务进程通过事件总线将所述待播放视图传递给所述悬浮窗播放器。
19.根据权利要求18所述的装置,其特征在于,所述装置还包括:
模式控制模块,用于在所述播放信息流界面移动时,触发所述悬浮窗播放器进入跟随模式。
20.根据权利要求18所述的装置,其特征在于,所述装置还包括:
界面切换指令接收模块,用于接收到界面切换指令;
界面切换模块,用于根据所述界面切换指令切换到对应的应用程序界面,将所述悬浮窗播放器悬浮在所述应用程序界面之上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611162032.7A CN106792089A (zh) | 2016-12-15 | 2016-12-15 | 视频播放方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611162032.7A CN106792089A (zh) | 2016-12-15 | 2016-12-15 | 视频播放方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106792089A true CN106792089A (zh) | 2017-05-31 |
Family
ID=58892588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611162032.7A Pending CN106792089A (zh) | 2016-12-15 | 2016-12-15 | 视频播放方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106792089A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108235104A (zh) * | 2018-01-19 | 2018-06-29 | 深圳市富途网络科技有限公司 | 一种用于移动终端的直播视频浮窗播放方法 |
CN108366301A (zh) * | 2018-04-24 | 2018-08-03 | 中国广播电视网络有限公司 | 一种基于Android的视频悬浮播放方法 |
CN108881998A (zh) * | 2018-08-13 | 2018-11-23 | 北京搜狐新动力信息技术有限公司 | 一种视频播放方法及装置 |
CN109246466A (zh) * | 2018-10-30 | 2019-01-18 | 北京达佳互联信息技术有限公司 | 视频播放方法、装置及电子设备 |
CN109660839A (zh) * | 2017-10-10 | 2019-04-19 | 武汉斗鱼网络科技有限公司 | 直播功能组件间的通信方法、存储介质、电子设备及系统 |
CN109831688A (zh) * | 2019-03-11 | 2019-05-31 | 山东浪潮商用系统有限公司 | 一种基于iOS系统的视频悬浮播放方法及装置 |
CN110162394A (zh) * | 2019-05-31 | 2019-08-23 | 北京字节跳动网络技术有限公司 | 媒体对象的播放方法、装置、电子设备及存储介质 |
CN110209432A (zh) * | 2018-02-28 | 2019-09-06 | 优酷网络技术(北京)有限公司 | 视图加载方法及装置 |
CN110913257A (zh) * | 2019-11-29 | 2020-03-24 | 广州市百果园信息技术有限公司 | 视频数据播放方法、装置、设备和存储介质 |
CN110971953A (zh) * | 2018-09-29 | 2020-04-07 | 腾讯科技(深圳)有限公司 | 视频播放方法、装置、终端及存储介质 |
CN111158678A (zh) * | 2018-11-08 | 2020-05-15 | 阿里巴巴集团控股有限公司 | 视频播放的方法、设备、客户端装置及电子设备 |
CN113050871A (zh) * | 2021-04-16 | 2021-06-29 | 上海东方报业有限公司 | 数据处理方法及移动终端 |
CN113949934A (zh) * | 2021-10-19 | 2022-01-18 | 广州方硅信息技术有限公司 | 动态视频内容播放控制方法、装置、介质以及计算机设备 |
CN114040215A (zh) * | 2021-10-22 | 2022-02-11 | 云南腾云信息产业有限公司 | 直播流切换方法、装置、计算机设备和存储介质 |
CN114640864A (zh) * | 2022-03-08 | 2022-06-17 | 广州方硅信息技术有限公司 | 直播间内播放小视频的方法、装置、计算机设备及介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110234760A1 (en) * | 2008-12-02 | 2011-09-29 | Jeong Hyu Yang | 3d image signal transmission method, 3d image display apparatus and signal processing method therein |
CN103616991A (zh) * | 2013-11-29 | 2014-03-05 | 乐视网信息技术(北京)股份有限公司 | 一种浮窗播放器多媒体预加载的方法及装置 |
CN104166458A (zh) * | 2014-08-12 | 2014-11-26 | 广州华多网络科技有限公司 | 控制多媒体播放器的方法及装置 |
CN105554553A (zh) * | 2015-12-15 | 2016-05-04 | 腾讯科技(深圳)有限公司 | 通过悬浮窗口播放视频的方法及装置 |
CN105635788A (zh) * | 2015-12-29 | 2016-06-01 | 深圳Tcl数字技术有限公司 | 视频播放过程中插播广告的方法及装置 |
US20160165314A1 (en) * | 2012-11-06 | 2016-06-09 | Jamabi, Inc. | Systems and methods for displaying and interacting with interaction opportunities associated with media content |
CN105933779A (zh) * | 2016-06-27 | 2016-09-07 | 北京奇虎科技有限公司 | 利用寄生工具包实现的视频播放方法及装置 |
CN105992068A (zh) * | 2015-05-19 | 2016-10-05 | 乐视移动智能信息技术(北京)有限公司 | 一种视频文件预览方法及装置 |
-
2016
- 2016-12-15 CN CN201611162032.7A patent/CN106792089A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110234760A1 (en) * | 2008-12-02 | 2011-09-29 | Jeong Hyu Yang | 3d image signal transmission method, 3d image display apparatus and signal processing method therein |
US20160165314A1 (en) * | 2012-11-06 | 2016-06-09 | Jamabi, Inc. | Systems and methods for displaying and interacting with interaction opportunities associated with media content |
CN103616991A (zh) * | 2013-11-29 | 2014-03-05 | 乐视网信息技术(北京)股份有限公司 | 一种浮窗播放器多媒体预加载的方法及装置 |
CN104166458A (zh) * | 2014-08-12 | 2014-11-26 | 广州华多网络科技有限公司 | 控制多媒体播放器的方法及装置 |
CN105992068A (zh) * | 2015-05-19 | 2016-10-05 | 乐视移动智能信息技术(北京)有限公司 | 一种视频文件预览方法及装置 |
CN105554553A (zh) * | 2015-12-15 | 2016-05-04 | 腾讯科技(深圳)有限公司 | 通过悬浮窗口播放视频的方法及装置 |
CN105635788A (zh) * | 2015-12-29 | 2016-06-01 | 深圳Tcl数字技术有限公司 | 视频播放过程中插播广告的方法及装置 |
CN105933779A (zh) * | 2016-06-27 | 2016-09-07 | 北京奇虎科技有限公司 | 利用寄生工具包实现的视频播放方法及装置 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109660839A (zh) * | 2017-10-10 | 2019-04-19 | 武汉斗鱼网络科技有限公司 | 直播功能组件间的通信方法、存储介质、电子设备及系统 |
CN108235104B (zh) * | 2018-01-19 | 2020-08-28 | 深圳市富途网络科技有限公司 | 一种用于移动终端的直播视频浮窗播放方法 |
CN108235104A (zh) * | 2018-01-19 | 2018-06-29 | 深圳市富途网络科技有限公司 | 一种用于移动终端的直播视频浮窗播放方法 |
CN110209432A (zh) * | 2018-02-28 | 2019-09-06 | 优酷网络技术(北京)有限公司 | 视图加载方法及装置 |
CN108366301A (zh) * | 2018-04-24 | 2018-08-03 | 中国广播电视网络有限公司 | 一种基于Android的视频悬浮播放方法 |
CN108881998A (zh) * | 2018-08-13 | 2018-11-23 | 北京搜狐新动力信息技术有限公司 | 一种视频播放方法及装置 |
CN110971953A (zh) * | 2018-09-29 | 2020-04-07 | 腾讯科技(深圳)有限公司 | 视频播放方法、装置、终端及存储介质 |
CN109246466A (zh) * | 2018-10-30 | 2019-01-18 | 北京达佳互联信息技术有限公司 | 视频播放方法、装置及电子设备 |
CN109246466B (zh) * | 2018-10-30 | 2021-06-11 | 北京达佳互联信息技术有限公司 | 视频播放方法、装置及电子设备 |
CN111158678B (zh) * | 2018-11-08 | 2023-05-05 | 阿里巴巴集团控股有限公司 | 视频播放的方法、设备、客户端装置及电子设备 |
CN111158678A (zh) * | 2018-11-08 | 2020-05-15 | 阿里巴巴集团控股有限公司 | 视频播放的方法、设备、客户端装置及电子设备 |
CN109831688A (zh) * | 2019-03-11 | 2019-05-31 | 山东浪潮商用系统有限公司 | 一种基于iOS系统的视频悬浮播放方法及装置 |
CN109831688B (zh) * | 2019-03-11 | 2021-01-22 | 山东云缦智能科技有限公司 | 一种基于iOS系统的视频悬浮播放方法及装置 |
CN110162394A (zh) * | 2019-05-31 | 2019-08-23 | 北京字节跳动网络技术有限公司 | 媒体对象的播放方法、装置、电子设备及存储介质 |
CN110913257A (zh) * | 2019-11-29 | 2020-03-24 | 广州市百果园信息技术有限公司 | 视频数据播放方法、装置、设备和存储介质 |
CN113050871A (zh) * | 2021-04-16 | 2021-06-29 | 上海东方报业有限公司 | 数据处理方法及移动终端 |
CN113949934A (zh) * | 2021-10-19 | 2022-01-18 | 广州方硅信息技术有限公司 | 动态视频内容播放控制方法、装置、介质以及计算机设备 |
CN113949934B (zh) * | 2021-10-19 | 2024-03-29 | 广州方硅信息技术有限公司 | 动态视频内容播放控制方法、装置、介质以及计算机设备 |
CN114040215A (zh) * | 2021-10-22 | 2022-02-11 | 云南腾云信息产业有限公司 | 直播流切换方法、装置、计算机设备和存储介质 |
CN114040215B (zh) * | 2021-10-22 | 2024-05-31 | 云南腾云信息产业有限公司 | 直播流切换方法、装置、计算机设备和存储介质 |
CN114640864A (zh) * | 2022-03-08 | 2022-06-17 | 广州方硅信息技术有限公司 | 直播间内播放小视频的方法、装置、计算机设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106792089A (zh) | 视频播放方法和装置 | |
CN110554818B (zh) | 用于导航媒体内容的设备、方法和图形用户界面 | |
CN107728905B (zh) | 一种弹幕显示方法、装置及存储介质 | |
CN111541930B (zh) | 直播画面的显示方法、装置、终端及存储介质 | |
CN107613402A (zh) | 一种弹幕调节方法、装置及存储介质 | |
WO2012094605A1 (en) | Augmented reality system | |
CN108776544B (zh) | 增强现实中的交互方法及装置、存储介质、电子设备 | |
CN113794917A (zh) | 一种显示设备和显示控制方法 | |
CN114327034A (zh) | 一种显示设备及录屏交互方法 | |
CN108777819A (zh) | 一种基于浏览器播放器播放网页视频的控制方法及控制装置 | |
EP3204947A1 (en) | Selecting frame from video on user interface | |
CN106911839A (zh) | 电子设备及其控制方法 | |
EP2780784A1 (en) | Input mapping regions | |
KR101608145B1 (ko) | 터치입력에 반응하는 3d 인터랙티브 무비 뷰어를 이용한 동영상 재생 방법 | |
WO2012055191A1 (zh) | 一种设置用户界面的方法及装置 | |
US20140259083A1 (en) | System and method for use in enhancing the display of multimedia content | |
CN111679772A (zh) | 一种屏幕录制方法、系统、多屏设备和可读存储介质 | |
US9990117B2 (en) | Zooming and panning within a user interface | |
CN113392260B (zh) | 界面显示控制方法、装置、介质及电子设备 | |
CN107968956B (zh) | 播放视频的方法、电子设备及具有存储功能的装置 | |
WO2022183967A1 (zh) | 视频画面的显示方法、装置、设备、介质及程序产品 | |
CN109688455B (zh) | 视频播放方法、装置及设备 | |
WO2020248682A1 (zh) | 一种显示设备及虚拟场景生成方法 | |
EP4343522A1 (en) | Live-streaming interface display method and apparatus, and device, storage medium and program product | |
WO2024037154A1 (zh) | 虚拟对象的控制方法、装置、终端、存储介质及程序产品 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170531 |
|
RJ01 | Rejection of invention patent application after publication |