CN109246466B - 视频播放方法、装置及电子设备 - Google Patents
视频播放方法、装置及电子设备 Download PDFInfo
- Publication number
- CN109246466B CN109246466B CN201811280889.8A CN201811280889A CN109246466B CN 109246466 B CN109246466 B CN 109246466B CN 201811280889 A CN201811280889 A CN 201811280889A CN 109246466 B CN109246466 B CN 109246466B
- Authority
- CN
- China
- Prior art keywords
- interface
- floating window
- live
- video
- player
- 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
Links
Images
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
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/4424—Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
-
- 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/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4438—Window management, e.g. event handling following interaction with the user interface
-
- 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/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- User Interface Of Digital Computer (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本公开是关于一种视频播放方法、装置及电子设备,属于互联网领域。该方法包括:获取目标界面切换事件,该目标界面切换事件用于指示从应用客户端的直播界面切换至任一非直播界面,该直播界面用于基于播放器来显示直播画面;通过悬浮窗控件,调用该播放器所接收到的视频数据流,该悬浮窗控件用于提供悬浮窗;在该非直播界面中,在该悬浮窗中显示该直播画面。本公开让用户在浏览非直播界面的同时,通过悬浮窗观看到直播画面,保证了观看直播内容的连续性,此外,不需要在播放器中重新加载视频数据流,优化了资源配置,实现直播画面从直播界面转移到悬浮窗中的无缝播放,避免了播放卡顿。
Description
技术领域
本公开涉及互联网领域,尤其涉及一种视频播放方法、装置及电子设备。
背景技术
相关技术中,随着互联网的飞速发展,网络直播作为一种娱乐方式逐渐进入日常生活,主播可以在各大网络直播平台开设直播间,观众也可以选择进入任意直播间观看直播。
观众登录应用客户端后,可以访问任一主播的直播间,从而在电子设备所显示的直播界面中观看到直播画面,其中,该直播界面可以包括直播画面和评论显示区域。
然而,当观众在观看直播时,如果接收到私信消息,或者需要浏览主播的其他信息时,常常需要进行界面切换,以退出直播间,浏览各种功能界面,从而中断正在观看的直播,错过一些直播内容,影响了观看直播的连续性。
发明内容
为克服相关技术中存在的问题,本公开提供一种视频播放方法、装置、电子设备及存储介质。
根据本公开实施例的第一方面,提供一种视频播放方法,该方法包括:
获取目标界面切换事件,该目标界面切换事件用于指示从应用客户端的直播界面切换至任一非直播界面,该直播界面用于基于播放器来显示直播画面;
通过悬浮窗控件,调用该播放器所接收到的视频数据流,该悬浮窗控件用于提供悬浮窗;
在该非直播界面中,在该悬浮窗中显示该直播画面。
在一种可能实施方式中,获取目标界面切换事件包括:
当检测到该直播界面处于前台显示状态时,将事件监听器注册到该悬浮窗控件中,该事件监听器用于检测各个界面的生命周期;
当通过该事件监听器检测到该直播界面切换至后台运行状态且任一非直播界面切换至前台显示状态时,确定获取该目标界面切换事件。
在一种可能实施方式中,获取目标界面切换事件包括:
当检测到任一界面处于前台显示状态时,将事件监听器注册到该悬浮窗控件中,该事件监听器用于检测各个界面的生命周期;
当通过该事件监听器检测到该直播界面切换至后台运行状态且任一非直播界面切换至前台显示状态时,确定获取该目标界面切换事件。
在一种可能实施方式中,在该非直播界面中,在该悬浮窗中显示该直播画面之后,该方法还包括:
当通过该事件监听器检测到对该悬浮窗的关闭操作时,关闭该悬浮窗,删除该事件监听器;或,
当检测到停止接收视频数据流时,关闭该悬浮窗,删除该事件监听器。
在一种可能实施方式中,在该非直播界面中,在该悬浮窗中显示该直播画面之后,该方法还包括:
当检测到该非直播界面为视频播放界面时,隐藏该悬浮窗。
在一种可能实施方式中,隐藏该悬浮窗之后,该方法还包括:
当通过该事件监听器检测到该视频播放界面切换至后台运行状态,且除该视频播放界面以外的任一非直播界面切换至前台显示状态时,在该除该视频播放界面以外的任一非直播界面中恢复显示该悬浮窗。
在一种可能实施方式中,该方法还包括:
当检测到在该直播界面上的向目标方向的滑动操作时,触发该目标界面切换事件。
在一种可能实施方式中,该目标方向为预设方向,该预设方向通过目标函数进行设置。
在一种可能实施方式中,在该非直播界面中,在该悬浮窗中显示该直播画面之后,该方法还包括:
当通过该事件监听器检测到视频数据流指示的显示画面的尺寸发生变化时,调整该悬浮窗的窗口大小。
在一种可能实施方式中,在该非直播界面中,在该悬浮窗中显示该直播画面之后,该方法还包括:
当检测到对该悬浮窗的第一目标操作时,返回至该直播界面。
在一种可能实施方式中,通过悬浮窗控件,调用该播放器所接收到的视频数据流包括:
通过该悬浮窗控件,将该播放器所接收到的视频数据流调用至悬浮窗布局文件。
在一种可能实施方式中,该方法还包括:
当检测到对该悬浮窗的第二目标操作时,调整该悬浮窗的窗口位置。
根据本公开实施例的第二方面,提供一种视频播放装置,该装置包括:
获取单元,被配置为执行获取目标界面切换事件,该目标界面切换事件用于指示从应用客户端的直播界面切换至任一非直播界面,该直播界面用于基于播放器来显示直播画面;
调用单元,被配置为执行通过悬浮窗控件,调用该播放器所接收到的视频数据流,该悬浮窗控件用于提供悬浮窗;
显示单元,被配置为执行在该非直播界面中,在该悬浮窗中显示该直播画面。
在一种可能实施方式中,该获取单元还被配置为执行:
当检测到该直播界面处于前台显示状态时,将事件监听器注册到该悬浮窗控件中,该事件监听器用于检测各个界面的生命周期;
当通过该事件监听器检测到该直播界面切换至后台运行状态且任一非直播界面切换至前台显示状态时,确定获取该目标界面切换事件。
在一种可能实施方式中,该获取单元还被配置为执行:
当检测到任一界面处于前台显示状态时,将事件监听器注册到该悬浮窗控件中,该事件监听器用于检测各个界面的生命周期;
当通过该事件监听器检测到该直播界面切换至后台运行状态且任一非直播界面切换至前台显示状态时,确定获取该目标界面切换事件。
在一种可能实施方式中,该装置还包括:
删除单元,被配置为当通过该事件监听器检测到对该悬浮窗的关闭操作时,执行关闭该悬浮窗,删除该事件监听器;或,
删除单元,被配置为当检测到停止接收视频数据流时,执行关闭该悬浮窗,删除该事件监听器。
在一种可能实施方式中,该装置还包括:
隐藏单元,被配置为当检测到该非直播界面为视频播放界面时,执行隐藏该悬浮窗。
在一种可能实施方式中,该装置还包括:
恢复单元,被配置为当通过该事件监听器检测到该视频播放界面切换至后台运行状态,且除该视频播放界面以外的任一非直播界面切换至前台显示状态时,执行在该除该视频播放界面以外的任一非直播界面中恢复显示该悬浮窗。
在一种可能实施方式中,该装置还包括:
触发单元,被配置为当检测到在该直播界面上的向目标方向的滑动操作时,执行触发该目标界面切换事件。
在一种可能实施方式中,该目标方向为预设方向,该预设方向通过目标函数进行设置。
在一种可能实施方式中,该装置还包括:
第一调整单元,被配置为当通过该事件监听器检测到视频数据流指示的显示画面的尺寸发生变化时,执行调整该悬浮窗的窗口大小。
在一种可能实施方式中,该装置还包括:
返回单元,被配置为当检测到对该悬浮窗的第一目标操作时,执行返回至该直播界面。
在一种可能实施方式中,该调用单元被配置为执行通过该悬浮窗控件,将该播放器所接收到的视频数据流调用至悬浮窗布局文件。
在一种可能实施方式中,该装置还包括:
第二调整单元,被配置为当检测到对该悬浮窗的第二目标操作时,执行调整该悬浮窗的窗口位置。
根据本公开实施例的第三方面,提供一种电子设备,该电子设备包括:
处理器;
用于存储该处理器可执行指令的存储器;
其中,该处理器被配置为:
获取目标界面切换事件,该目标界面切换事件用于指示从应用客户端的直播界面切换至任一非直播界面,该直播界面用于基于播放器来显示直播画面;
通过悬浮窗控件,调用该播放器所接收到的视频数据流,该悬浮窗控件用于提供悬浮窗;
在该非直播界面中,在该悬浮窗中显示该直播画面。
根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,当该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行一种视频播放方法,该方法包括:
获取目标界面切换事件,该目标界面切换事件用于指示从应用客户端的直播界面切换至任一非直播界面,该直播界面用于基于播放器来显示直播画面;
通过悬浮窗控件,调用该播放器所接收到的视频数据流,该悬浮窗控件用于提供悬浮窗;
在该非直播界面中,在该悬浮窗中显示该直播画面。
根据本公开实施例的第五方面,提供一种应用程序/计算机程序产品,包括一条或多条指令,该一条或多条指令可以由电子设备的处理器执行时,使得电子设备能够执行一种视频播放方法,该方法包括:
获取目标界面切换事件,该目标界面切换事件用于指示从应用客户端的直播界面切换至任一非直播界面,该直播界面用于基于播放器来显示直播画面;
通过悬浮窗控件,调用该播放器所接收到的视频数据流,该悬浮窗控件用于提供悬浮窗;
在该非直播界面中,在该悬浮窗中显示该直播画面。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过获取目标界面切换事件,确定从直播界面切换至任一非直播界面,该直播界面基于播放器显示直播画面,通过悬浮窗控件调用播放器所接收到的视频数据流,从而使得在非直播界面上的悬浮窗中显示直播画面,可以让用户在浏览非直播界面的同时,通过悬浮窗观看到直播画面,保证了观看直播内容的连续性,此外,由于直播界面基于播放器显示直播画面,当悬浮窗控件调用该播放器中的视频数据流时,不需要在播放器中重新加载视频数据流,优化了资源配置,实现直播画面从直播界面转移到悬浮窗中的无缝播放,避免了播放卡顿。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种视频播放方法的流程图。
图2是根据一示例性实施例示出的一种视频播放方法的流程图。
图3是根据一示例性实施例示出的一种视频播放方法的流程示意图。
图4是根据一示例性实施例示出的一种视频播放方法的控件逻辑关系图。
图5是根据一示例性实施例示出的一种视频播放方法的界面示意图。
图6是根据一示例性实施例示出的一种视频播放装置的逻辑结构框图。
图7是根据一示例性实施例示出的一种电子设备的逻辑结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种视频播放方法的流程图,如图1所示,视频播放方法用于电子设备中,包括以下步骤:
在步骤101中,电子设备获取目标界面切换事件,该目标界面切换事件用于指示从应用客户端的直播界面切换至任一非直播界面,该直播界面用于基于播放器来显示直播画面。
该电子设备可以为安装该应用客户端的任一电子设备,该电子设备可以是手机、电脑、平板电脑等移动终端,本公开实施例不对该电子设备进行具体限定,
在步骤102中,电子设备通过悬浮窗控件,调用该播放器所接收到的视频数据流,该悬浮窗控件用于提供悬浮窗。
在步骤103中,电子设备在该非直播界面中,在该悬浮窗中显示该直播画面。
本公开实施例提供的方法,通过获取目标界面切换事件,确定从直播界面切换至任一非直播界面,该直播界面基于播放器显示直播画面,通过悬浮窗控件调用播放器所接收到的视频数据流,从而使得在非直播界面上的悬浮窗中显示直播画面,可以让用户在浏览非直播界面的同时,通过悬浮窗观看到直播画面,保证了观看直播内容的连续性,此外,由于直播界面基于播放器显示直播画面,当悬浮窗控件调用该播放器中的视频数据流时,不需要在播放器中重新加载视频数据流,优化了资源配置,实现直播画面从直播界面转移到悬浮窗中的无缝播放,避免了播放卡顿。
在一种可能实施方式中,获取目标界面切换事件包括:
当检测到该直播界面处于前台显示状态时,将事件监听器注册到该悬浮窗控件中,该事件监听器用于检测各个界面的生命周期;
当通过该事件监听器检测到该直播界面切换至后台运行状态且任一非直播界面切换至前台显示状态时,确定获取该目标界面切换事件。
在一种可能实施方式中,获取目标界面切换事件包括:
当检测到任一界面处于前台显示状态时,将事件监听器注册到该悬浮窗控件中,该事件监听器用于检测各个界面的生命周期;
当通过该事件监听器检测到该直播界面切换至后台运行状态且任一非直播界面切换至前台显示状态时,确定获取该目标界面切换事件。
在一种可能实施方式中,在该非直播界面中,在该悬浮窗中显示该直播画面之后,该方法还包括:
当通过该事件监听器检测到对该悬浮窗的关闭操作时,关闭该悬浮窗,删除该事件监听器;或,
当检测到停止接收视频数据流时,关闭该悬浮窗,删除该事件监听器。
在一种可能实施方式中,在该非直播界面中,在该悬浮窗中显示该直播画面之后,该方法还包括:
当检测到该非直播界面为视频播放界面时,隐藏该悬浮窗。
在一种可能实施方式中,隐藏该悬浮窗之后,该方法还包括:
当通过该事件监听器检测到该视频播放界面切换至后台运行状态,且除该视频播放界面以外的任一非直播界面切换至前台显示状态时,在该除该视频播放界面以外的任一非直播界面中恢复显示该悬浮窗。
在一种可能实施方式中,该方法还包括:
当检测到在该直播界面上的向目标方向的滑动操作时,触发该目标界面切换事件。
在一种可能实施方式中,该目标方向为预设方向,该预设方向通过目标函数进行设置。
在一种可能实施方式中,在该非直播界面中,在该悬浮窗中显示该直播画面之后,该方法还包括:
当通过该事件监听器检测到视频数据流指示的显示画面的尺寸发生变化时,调整该悬浮窗的窗口大小。
在一种可能实施方式中,在该非直播界面中,在该悬浮窗中显示该直播画面之后,该方法还包括:
当检测到对该悬浮窗的第一目标操作时,返回至该直播界面。
在一种可能实施方式中,通过悬浮窗控件,调用该播放器所接收到的视频数据流包括:
通过该悬浮窗控件,将该播放器所接收到的视频数据流调用至悬浮窗布局文件。
在一种可能实施方式中,该方法还包括:
当检测到对该悬浮窗的第二目标操作时,调整该悬浮窗的窗口位置。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图2是根据一示例性实施例示出的一种视频播放方法的流程图,图3是根据一示例性实施例示出的一种视频播放方法的流程示意图,如图2和图3所示,视频播放方法用于电子设备中,包括以下步骤:
在步骤201中,当电子设备检测到直播界面处于前台显示状态时,将事件监听器注册到悬浮窗控件中,该事件监听器用于检测各个界面的生命周期。
在本公开实施例中,电子设备上可以安装有应用客户端,该应用客户端可以多媒体文件分享客户端或直播客户端,本公开实施例不对该应用客户端进行具体限定。
该应用客户端可以包括直播界面和非直播界面,该直播界面为基于播放器中接收的视频数据流所指示的显示画面所在的界面,该直播界面中至少可以包括直播画面和评论显示区域,例如,该直播界面可以是主播A的直播间。其中,该播放器可以为单例播放器,也即是,该播放器仅能被一个功能控件调用,以基于该播放器中接收的视频数据流,和该功能控件的布局文件进行画面显示,该功能控件可以是直播界面控件,也可以是悬浮窗控件,本公开实施例不对该功能控件的具体类型进行限定。该非直播界面可以包括视频播放界面,该视频播放界面为非直播界面中的所有视频界面,例如,该视频播放界面可以是主播A一周前上传的已录制视频的播放界面,也可以是播放任一短视频的界面,该非直播界面中还可以包括除了该视频播放界面之外的界面,例如,可以是观众B的私信消息查看界面、观众B的个人设置界面、资讯浏览界面等,本公开实施例不对该直播界面的内容、该视频播放界面的内容和该非直播界面中除了该视频播放界面之外的界面的内容进行具体限定。
在该步骤201中,该事件监听器通过监听各个界面的生命周期,以实现对目标界面切换事件的获取,根据切换前界面、切换后界面生命周期的变化,从而为后续悬浮窗的显示、隐藏、关闭和恢复提供不同的控制逻辑。其中,每个界面的生命周期也即是每个界面的运行状态,例如处于前台显示状态,或处于后台运行状态,或处于关闭状态,或处于关闭状态,或处于挂起状态等。例如,在安卓系统中,该事件监听器可以通过onResume()对直播界面的生命周期进行监听,而可选地,该事件监听器还可以通过回调某个接口来实现监听,例如,该接口可以为使用接口Application.ActivityLifecycleCallbacks,本公开实施例不对该事件监听器的实现方式进行具体限定。其中,注册事件监听器的过程实际上是将事件监听器添加至悬浮窗控件的过程。
该步骤201是一种注册事件监听器的可能实施方式,也即是仅在直播界面处于前台显示状态时,才注册事件监听器,当非直播界面处于前台显示时,则不将事件监听器注册到悬浮窗控件中,从而节约了非直播界面处于前台显示时的运行内存,优化了电子设备的资源配置。而可选地,该步骤201还可以采用下述步骤进行替换:当电子设备检测到任一界面处于前台显示状态时,将事件监听器注册到该悬浮窗控件中,该事件监听器用于检测各个界面的生命周期,也即是,在启动应用客户端时就注册事件监听器,使得该事件监听器可以在该应用客户端的运行期间对各个界面的运行状态进行全局监听,以便掌握更全面的信息。
在步骤202中,当电子设备检测到在该直播界面上的向目标方向的滑动操作时,触发目标界面切换事件。
其中,该目标方向的滑动操作用于触发目标界面切换事件或触发任一界面切换事件,对于该应用客户端,可以设置为通过向第一目标方向的滑动操作来触发目标界面切换事件,从而电子设备可以当检测到该目标方向的滑动操作时,直接执行下述步骤204;可选地,可以设置为通过向第二目标方向的滑动操作来触发任一界面切换事件,此时通过事件注册监听器来获取目标界面切换事件,第一目标方向和第二目标方向可以相同,也可以不同,例如,向上滑动操作触发界面切换,向右滑动操作触发悬浮窗显示,或者向右滑动操作触发界面切换和悬浮窗显示,本公开实施例不对此进行具体限定。
上述过程中,该目标方向可以是应用客户端的预设方向,该预设方向可以通过目标函数进行预设,该目标方向也可以是基于该电子设备对应的用户的个性化设置所获取的方向,该基于个性化设置所获取的方向可以通过重写目标函数进行设置,且该目标方向可以指向任一方向,例如,该目标函数可以是ontouch()函数,通过自定义LiveTinyWindowView,运用ontouch()函数进行目标方向的预设,可选地,当获取个性化设置时,重写ontouch()函数进行目标方向的更改,本公开实施例不对该目标方向的获取方式进行具体限定,也不对函数命名进行具体限定。
在步骤203中,当电子设备通过该事件监听器检测到该直播界面切换至后台运行状态且任一非直播界面切换至前台显示状态时,确定获取该目标界面切换事件,该目标界面切换事件用于指示从应用客户端的直播界面切换至任一非直播界面。
本公开实施例提供的是从直播界面切换到任一非直播界面的情况下的一种视频播放方法,实际上,当应用客户端从直播界面切换至另一直播界面时,由于该播放器为单例播放器,此时需要向播放器中重新加载该另一直播界面的视频数据流,且被该另一直播界面的控件所调用,也就不能被悬浮窗控件所调用,保证了应用客户端界面显示的简洁流畅,此时电子设备还需执行步骤201所指示的操作,以便于当从该另一直播界面切换到非直播界面时,实现在悬浮窗中显示该另一直播界面中的另一直播画面。
在步骤204中,电子设备通过该悬浮窗控件,将该播放器所接收到的视频数据流调用至悬浮窗布局文件。
其中,该悬浮窗实际上是能够实现跨界面activity以在任一非直播界面显示直播画面的小窗,该悬浮窗控件用于创建悬浮窗,并能够控制悬浮窗的显示、隐藏和关闭。在一种可能实施方式中,该悬浮窗控件可以是单例的,也即是,该悬浮窗控件中仅持有一个悬浮窗布局文件,该悬浮窗布局文件可以用于规划悬浮窗的窗口大小和窗口位置,该悬浮窗布局文件中可以包括视图文件,该视图文件用于调用播放器所接收到的视频数据流。
图4是根据一示例性实施例示出的一种视频播放方法的控件逻辑关系图,如图4所示,在安卓系统中,该悬浮窗控件可以是LiveFloatingWindowManager,可以通过params.type=WindowManager.LayoutParams.TYPE_SYSTEM_ALERT完成悬浮窗的创建,相应地,该悬浮窗的悬浮窗布局文件可以是LiveFloatingWindowView,可以通过windowManager.addView(View view,ViewGroup.LayoutParams params)实现悬浮窗布局文件的添加,该视图文件可以是TextureView,该视图文件也可以是SurfaceView,需要说明的是,该悬浮窗控件、该悬浮窗布局文件和该视图文件在不同系统中可以有不同的名称和类型,创建悬浮窗和添加悬浮窗布局文件也可以相应有不同的实现方法,本公开实施例不进行具体限定。
该步骤204实际上是将播放器所接收的视频数据流赋值给该视图文件的过程,例如,将播放器LivePlayer所接收的视频数据流赋值给视图文件TextureView,从而能够实现在悬浮窗中显示直播画面。由于该悬浮窗控件调用的是播放器中所接收到的,原本赋值给直播界面的控件的视频数据流,也即是,悬浮窗控件和直播界面的控件共用播放器所接收到的视频数据流,使得应用客户端无需重新加载视频数据流,优化了电子设备的资源配置。
在步骤205中,电子设备在该非直播界面中,在该悬浮窗中显示该直播画面。
图5是根据一示例性实施例示出的一种视频播放方法的界面示意图,参照图5,电子设备基于悬浮窗布局文件调用的播放器所接收到的视频数据流,能够在非直播界面上的悬浮窗中显示该直播画面,可以让用户在浏览非直播界面的同时,通过悬浮窗观看到直播画面,保证了观看直播内容的连续性,实现直播画面从直播界面转移到悬浮窗中的无缝播放,避免了播放卡顿。
可选地,当电子设备通过该事件监听器检测到视频数据流指示的显示画面的尺寸发生变化时,调整该悬浮窗的窗口大小。也即是,当检测到视频数据流指示的显示画面的尺寸发生变化时,适应性地调整该悬浮窗的窗口大小,从而使得悬浮窗的窗口大小比例与该直播画面的大小比例相匹配,例如,当检测到视频数据流指示的直播画面从1:1方形尺寸变化为4:3横屏尺寸时,适应性调整该悬浮窗的窗口大小,使得该悬浮窗的窗口大小符合4:3的屏幕纵横比。
可选地,电子设备提供了位置调节功能,当电子设备检测到对该悬浮窗的第二目标操作时,调整该悬浮窗的窗口位置。可选地,该第二目标操作是对该悬浮窗的拖拽操作,其中,当电子设备检测到对该悬浮窗的显示区域的按照任一轨迹的持续按压操作时,确定检测到该拖拽操作,可以将该轨迹的终点调整为悬浮窗的中心,或者按照该轨迹将悬浮窗平移至轨迹的终点。其中,可以通过悬浮窗布局文件调整窗口位置,使悬浮窗的位置更新至该轨迹的终点,例如,通过悬浮窗布局文件中的windowManager.updateViewLayout(view,params)进行悬浮窗位置的调整。
可选地,该第二目标操作还可以是对该悬浮窗的长按后点击移动位置的操作。其中,当电子设备检测到对该悬浮窗的长按操作时,确定调整该悬浮窗的窗口位置;当检测到对窗口移动位置的点击操作时,将该悬浮窗移动至该窗口移动位置,例如,通过悬浮窗布局文件中的windowManager.updateViewLayout(view,params)进行悬浮窗位置的调整。
可选地,当电子设备检测到对该悬浮窗的第一目标操作时,可以返回至该直播界面,例如,该第一目标操作可以是对该悬浮窗的双击操作,也可以是对该悬浮窗的最大化操作,本公开实施例不对该第一目标操作进行具体限定。上述过程实际上是该直播界面的控件重新调用该播放器所接收到的,原本赋值给悬浮窗控件的视频数据流的过程,此时应用客户端将返回至该直播界面,且不显示该悬浮窗,不需要重新加载视频数据流,实现了从悬浮窗返回直播界面的无缝播放,优化了电子设备的资源配置。
在步骤206中,当电子设备检测到该非直播界面为视频播放界面时,隐藏该悬浮窗。
该步骤206实际上是当切换后的非直播界面中在播放录制视频时,隐藏该悬浮窗,对视频播放界面来说,该界面上会显示有相应的视频画面,且该视频画面并不是直播画面,在这类视频播放界面上隐藏悬浮窗,可以避免悬浮窗对用户的干扰,优化了该视频播放界面的规划设计,使得界面清爽简洁。其中,通过悬浮窗控件可以实现隐藏该悬浮窗,例如,采用悬浮窗控件中的windowManager.removeViewImmediate(view)进行隐藏,实际上用于隐藏的函数可以有不同的名称和类型,本公开实施例不对此进行具体限定。
在步骤207中,当电子设备通过该事件监听器检测到该视频播放界面切换至后台运行状态,且除该视频播放界面以外的任一非直播界面切换至前台显示状态时,在该除该视频播放界面以外的任一非直播界面中恢复显示该悬浮窗。
该步骤207实际上是当从视频播放界面切换至除该视频播放界面以外的任一非直播界面时,恢复显示悬浮窗,并通过悬浮窗播放直播画面,由于视频播放画面的录制视频可以即时访问即时观看,使得该电子设备对应的用户能够浏览到除该视频播放界面以外的任一非直播界面的内容的同时,不错过实时的直播内容。
在步骤208中,当电子设备通过该事件监听器检测到对该悬浮窗的关闭操作时,关闭该悬浮窗,删除该事件监听器。
其中,电子设备还可以提供主动关闭功能,对该悬浮窗的关闭操作可以是预设的关闭手势,也可以是对关闭按钮的点击操作,本公开实施例不对该关闭操作进行具体限定,使得能够根据该电子设备对应的用户的需求进行关闭悬浮窗。可选地,电子设备还可以提供被动关闭功能,该步骤208还可以采用如下方式进行替换:当电子设备检测到停止接收视频数据流时,关闭该悬浮窗,删除该事件监听器,使得电子设备的资源配置更为合理,界面规划更为简洁。例如,采用悬浮窗控件中的windowManager.removeViewImmediate(view)进行关闭悬浮窗,实际上用于关闭悬浮窗的函数可以有不同的名称和类型,本公开实施例不对此进行具体限定。
可选地,电子设备关闭该悬浮窗,删除该事件监听器后,还可以删除悬浮窗控件中的布局数据,以节约更多的运行空间,保证电子设备的流畅运行。
本公开实施例提供的方法,通过获取目标界面切换事件,确定从直播界面切换至任一非直播界面,该直播界面基于播放器显示直播画面,通过悬浮窗控件调用播放器所接收到的视频数据流,从而使得在非直播界面上的悬浮窗中显示直播画面,可以让用户在浏览非直播界面的同时,通过悬浮窗观看到直播画面,保证了观看直播内容的连续性,此外,由于直播界面基于播放器显示直播画面,当悬浮窗控件调用该播放器中的视频数据流时,不需要在播放器中重新加载视频数据流,优化了资源配置,实现直播画面从直播界面转移到悬浮窗中的无缝播放,避免了播放卡顿;进一步的,通过事件监听器的监测结果,确定获取目标界面切换事件,该事件监听器可以仅在直播界面处于前台显示的状态时注册到悬浮窗控件中,节约了资源,也可以当应用客户端启动时就注册到悬浮窗控件中,实现对目标界面切换事件的准确获取;进一步地,通过悬浮窗控件还可以适应性调整悬浮窗口的大小和位置,满足用户的个性化需求;进一步地,当检测到对悬浮窗的第一目标操作时,返回至直播界面,实现无缝播放,当非直播界面为视频播放界面时,隐藏悬浮窗,保证了界面的简洁流畅,当从视频播放界面切换到除了视频播放界面外的任一非直播界面时,恢复显示悬浮窗,避免错过更多的直播内容,满足多任务并行需求。
图6是根据一示例性实施例示出的一种视频播放装置的逻辑结构框图。参照图6,该装置包括获取单元601,调用单元602和显示单元603:
该获取单元601,被配置为执行获取目标界面切换事件,该目标界面切换事件用于指示从应用客户端的直播界面切换至任一非直播界面,该直播界面用于基于播放器来显示直播画面;
该调用单元602,被配置为执行通过悬浮窗控件,调用该播放器所接收到的视频数据流,该悬浮窗控件用于提供悬浮窗;
该显示单元603,被配置为执行在该非直播界面中,在该悬浮窗中显示该直播画面。
本公开实施例提供的装置,通过获取目标界面切换事件,确定从直播界面切换至任一非直播界面,该直播界面基于播放器显示直播画面,通过悬浮窗控件调用播放器所接收到的视频数据流,从而使得在非直播界面上的悬浮窗中显示直播画面,可以让用户在浏览非直播界面的同时,通过悬浮窗观看到直播画面,保证了观看直播内容的连续性,此外,由于直播界面基于播放器显示直播画面,当悬浮窗控件调用该播放器中的视频数据流时,不需要在播放器中重新加载视频数据流,优化了资源配置,实现直播画面从直播界面转移到悬浮窗中的无缝播放,避免了播放卡顿。
在一种可能实施方式中,该获取单元601还被配置为执行:
当检测到该直播界面处于前台显示状态时,将事件监听器注册到该悬浮窗控件中,该事件监听器用于检测各个界面的生命周期;
当通过该事件监听器检测到该直播界面切换至后台运行状态且任一非直播界面切换至前台显示状态时,确定获取该目标界面切换事件。
在一种可能实施方式中,该获取单元601还被配置为执行:
当检测到任一界面处于前台显示状态时,将事件监听器注册到该悬浮窗控件中,该事件监听器用于检测各个界面的生命周期;
当通过该事件监听器检测到该直播界面切换至后台运行状态且任一非直播界面切换至前台显示状态时,确定获取该目标界面切换事件。
在一种可能实施方式中,基于图6的装置组成,该装置还包括:
删除单元,被配置为当通过该事件监听器检测到对该悬浮窗的关闭操作时,执行关闭该悬浮窗,删除该事件监听器;或,
删除单元,被配置为当检测到停止接收视频数据流时,执行关闭该悬浮窗,删除该事件监听器。
在一种可能实施方式中,基于图6的装置组成,该装置还包括:
隐藏单元,被配置为当检测到该非直播界面为视频播放界面时,执行隐藏该悬浮窗。
在一种可能实施方式中,基于图6的装置组成,该装置还包括:
恢复单元,被配置为当通过该事件监听器检测到该视频播放界面切换至后台运行状态,且除该视频播放界面以外的任一非直播界面切换至前台显示状态时,执行在该除该视频播放界面以外的任一非直播界面中恢复显示该悬浮窗。
在一种可能实施方式中,基于图6的装置组成,该装置还包括:
触发单元,被配置为当检测到在该直播界面上的向目标方向的滑动操作时,执行触发该目标界面切换事件。
在一种可能实施方式中,该目标方向为预设方向,该预设方向通过目标函数进行设置。
在一种可能实施方式中,基于图6的装置组成,该装置还包括:
第一调整单元,被配置为当通过该事件监听器检测到视频数据流指示的显示画面的尺寸发生变化时,执行调整该悬浮窗的窗口大小。
在一种可能实施方式中,基于图6的装置组成,该装置还包括:
返回单元,被配置为当检测到对该悬浮窗的第一目标操作时,执行返回至该直播界面。
在一种可能实施方式中,该调用单元602被配置为执行通过该悬浮窗控件,将该播放器所接收到的视频数据流调用至悬浮窗布局文件。
在一种可能实施方式中,基于图6的装置组成,该装置还包括:
第二调整单元,被配置为当检测到对该悬浮窗的第二目标操作时,执行调整该悬浮窗的窗口位置。
关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该视频播放方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7是根据一示例性实施例示出的一种电子设备的逻辑结构框图。例如,电子设备700可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图7,电子设备700可以包括以下一个或多个组件:处理器701和存储器702。
处理器701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器701所执行以实现本申请中方法实施例提供的互动特效显示方法。
在一些实施例中,电子设备700还可选包括有:外围设备接口703和至少一个外围设备。处理器701、存储器702和外围设备接口703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口703相连。具体地,外围设备包括:射频电路704、触摸显示屏705、摄像头706、音频电路707、定位组件708和电源709中的至少一种。
外围设备接口703可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器701和存储器702。在一些实施例中,处理器701、存储器702和外围设备接口703被集成在同一芯片或电路板上;在一些其他实施例中,处理器701、存储器702和外围设备接口703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路704用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路704包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路704还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏705用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏705是触摸显示屏时,显示屏705还具有采集在显示屏705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器701进行处理。此时,显示屏705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏705可以为一个,设置电子设备700的前面板;在另一些实施例中,显示屏705可以为至少两个,分别设置在电子设备700的不同表面或呈折叠设计;在再一些实施例中,显示屏705可以是柔性显示屏,设置在电子设备700的弯曲表面上或折叠面上。甚至,显示屏705还可以设置成非矩形的不规则图形,也即异形屏。显示屏705可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件706用于采集图像或视频。可选地,摄像头组件706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器701进行处理,或者输入至射频电路704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在电子设备700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器701或射频电路704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路707还可以包括耳机插孔。
定位组件708用于定位电子设备700的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件708可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源709用于为电子设备700中的各个组件进行供电。电源709可以是交流电、直流电、一次性电池或可充电电池。当电源709包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,电子设备700还包括有一个或多个传感器710。该一个或多个传感器710包括但不限于:加速度传感器711、陀螺仪传感器712、压力传感器713、指纹传感器714、光学传感器715以及接近传感器716。
加速度传感器711可以检测以电子设备700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器711可以用于检测重力加速度在三个坐标轴上的分量。处理器701可以根据加速度传感器711采集的重力加速度信号,控制触摸显示屏705以横向视图或纵向视图进行用户界面的显示。加速度传感器711还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器712可以检测电子设备700的机体方向及转动角度,陀螺仪传感器712可以与加速度传感器711协同采集用户对电子设备700的3D动作。处理器701根据陀螺仪传感器712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器713可以设置在电子设备700的侧边框和/或触摸显示屏705的下层。当压力传感器713设置在电子设备700的侧边框时,可以检测用户对电子设备700的握持信号,由处理器701根据压力传感器713采集的握持信号进行左右手识别或快捷操作。当压力传感器713设置在触摸显示屏705的下层时,由处理器701根据用户对触摸显示屏705的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器714用于采集用户的指纹,由处理器701根据指纹传感器714采集到的指纹识别用户的身份,或者,由指纹传感器714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器714可以被设置电子设备700的正面、背面或侧面。当电子设备700上设置有物理按键或厂商Logo时,指纹传感器714可以与物理按键或厂商Logo集成在一起。
光学传感器715用于采集环境光强度。在一个实施例中,处理器701可以根据光学传感器715采集的环境光强度,控制触摸显示屏705的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏705的显示亮度;当环境光强度较低时,调低触摸显示屏705的显示亮度。在另一个实施例中,处理器701还可以根据光学传感器715采集的环境光强度,动态调整摄像头组件706的拍摄参数。
接近传感器716,也称距离传感器,通常设置在电子设备700的前面板。接近传感器716用于采集用户与电子设备700的正面之间的距离。在一个实施例中,当接近传感器716检测到用户与电子设备700的正面之间的距离逐渐变小时,由处理器701控制触摸显示屏705从亮屏状态切换为息屏状态;当接近传感器716检测到用户与电子设备700的正面之间的距离逐渐变大时,由处理器701控制触摸显示屏705从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图7中示出的结构并不构成对电子设备700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器704,上述指令可由电子设备700的处理器720执行以完成上述视频播放方法,该方法包括:获取目标界面切换事件,该目标界面切换事件用于指示从应用客户端的直播界面切换至任一非直播界面,该直播界面用于基于播放器来显示直播画面;通过悬浮窗控件,调用该播放器所接收到的视频数据流,该悬浮窗控件用于提供悬浮窗;在该非直播界面中,在该悬浮窗中显示该直播画面。可选地,上述指令还可以由电子设备700的处理器720执行以完成上述示例性实施例中所涉及的其他步骤。例如,该非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种应用程序/计算机程序产品,包括一条或多条指令,该一条或多条指令可以由电子设备700的处理器720执行,以完成上述视频播放方法,该方法包括:获取目标界面切换事件,该目标界面切换事件用于指示从应用客户端的直播界面切换至任一非直播界面,该直播界面用于基于播放器来显示直播画面;通过悬浮窗控件,调用该播放器所接收到的视频数据流,该悬浮窗控件用于提供悬浮窗;在该非直播界面中,在该悬浮窗中显示该直播画面。可选地,上述指令还可以由电子设备700的处理器720执行以完成上述示例性实施例中所涉及的其他步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (16)
1.一种视频播放方法,其特征在于,所述方法包括:
当检测到直播界面处于前台显示状态时,将事件监听器注册到悬浮窗控件中,所述事件监听器用于检测各个界面的生命周期,所述直播界面用于基于播放器来显示直播画面;
当通过所述事件监听器检测到所述直播界面切换至后台运行状态且任一非直播界面切换至所述前台显示状态时,确定获取目标界面切换事件;
通过悬浮窗控件,调用所述播放器所接收到的视频数据流,所述悬浮窗控件用于提供悬浮窗;
在除视频播放界面以外的所述非直播界面中,在所述悬浮窗中显示所述直播画面;
在检测到所述非直播界面为所述视频播放界面时,隐藏所述悬浮窗;
当通过所述事件监听器检测到所述视频播放界面切换至所述后台运行状态,且除所述视频播放界面以外的任一非直播界面切换至所述前台显示状态时,在所述除所述视频播放界面以外的任一非直播界面中恢复显示所述悬浮窗;
当检测到停止接收所述视频数据流时,关闭所述悬浮窗,删除所述事件监听器以及所述悬浮窗控件中的布局数据;
当检测到对所述悬浮窗的第一目标操作时,通过所述直播界面的控件重新调用所述播放器所接收到的视频数据流,返回至所述直播界面,且不显示所述悬浮窗。
2.根据权利要求1所述的视频播放方法,其特征在于,所述在除视频播放界面以外的所述非直播界面中,在所述悬浮窗中显示所述直播画面之后,所述方法还包括:
当通过所述事件监听器检测到对所述悬浮窗的关闭操作时,关闭所述悬浮窗,删除所述事件监听器。
3.根据权利要求1所述的视频播放方法,其特征在于,所述方法还包括:
当检测到在所述直播界面上的向目标方向的滑动操作时,触发所述目标界面切换事件。
4.根据权利要求3所述的视频播放方法,其特征在于,所述目标方向为预设方向,所述预设方向通过目标函数进行设置。
5.根据权利要求1所述的视频播放方法,其特征在于,所述在所述非直播界面中,在所述悬浮窗中显示所述直播画面之后,所述方法还包括:
当通过所述事件监听器检测到所述视频数据流指示的显示画面的尺寸发生变化时,调整所述悬浮窗的窗口大小。
6.根据权利要求1所述的视频播放方法,其特征在于,所述通过悬浮窗控件,调用所述播放器所接收到的视频数据流包括:
通过所述悬浮窗控件,将所述播放器所接收到的视频数据流调用至悬浮窗布局文件。
7.根据权利要求1所述的视频播放方法,其特征在于,所述方法还包括:
当检测到对所述悬浮窗的第二目标操作时,调整所述悬浮窗的窗口位置。
8.一种视频播放装置,其特征在于,所述装置包括:
获取单元,被配置为执行:
当检测到直播界面处于前台显示状态时,将事件监听器注册到悬浮窗控件中,所述事件监听器用于检测各个界面的生命周期,所述直播界面用于基于播放器来显示直播画面;
当通过所述事件监听器检测到所述直播界面切换至后台运行状态且任一非直播界面切换至所述前台显示状态时,确定获取目标界面切换事件;
调用单元,被配置为执行通过悬浮窗控件,调用所述播放器所接收到的视频数据流,所述悬浮窗控件用于提供悬浮窗;
显示单元,被配置为执行在除视频播放界面以外的所述非直播界面中,在所述悬浮窗中显示所述直播画面;
隐藏单元,被配置为在检测到所述非直播界面为所述视频播放界面时,执行隐藏所述悬浮窗;
恢复单元,被配置为当通过所述事件监听器检测到所述视频播放界面切换至所述后台运行状态,且除所述视频播放界面以外的任一非直播界面切换至所述前台显示状态时,执行在所述除所述视频播放界面以外的任一非直播界面中恢复显示所述悬浮窗;
删除单元,被配置为当检测到停止接收所述视频数据流时,执行关闭所述悬浮窗,删除所述事件监听器以及所述悬浮窗控件中的布局数据;
返回单元,被配置为当检测到对所述悬浮窗的第一目标操作时,执行通过所述直播界面的控件重新调用所述播放器所接收到的视频数据流,返回至所述直播界面,且不显示所述悬浮窗。
9.根据权利要求8所述的视频播放装置,其特征在于,所述装置还包括:
删除单元,被配置为当通过所述事件监听器检测到对所述悬浮窗的关闭操作时,执行关闭所述悬浮窗,删除所述事件监听器。
10.根据权利要求8所述的视频播放装置,其特征在于,所述装置还包括:
触发单元,被配置为当检测到在所述直播界面上的向目标方向的滑动操作时,执行触发所述目标界面切换事件。
11.根据权利要求10所述的视频播放装置,其特征在于,所述目标方向为预设方向,所述预设方向通过目标函数进行设置。
12.根据权利要求8所述的视频播放装置,其特征在于,所述装置还包括:
第一调整单元,被配置为当通过所述事件监听器检测到所述视频数据流指示的显示画面的尺寸发生变化时,执行调整所述悬浮窗的窗口大小。
13.根据权利要求8所述的视频播放装置,其特征在于,所述调用单元被配置为执行通过所述悬浮窗控件,将所述播放器所接收到的视频数据流调用至悬浮窗布局文件。
14.根据权利要求8所述的视频播放装置,其特征在于,所述装置还包括:
第二调整单元,被配置为当检测到对所述悬浮窗的第二目标操作时,执行调整所述悬浮窗的窗口位置。
15.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行以实现如权利要求1至权利要求7任一项所述的视频播放方法所执行的操作。
16.一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行一种以实现如权利要求1至权利要求7任一项所述的视频播放方法所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811280889.8A CN109246466B (zh) | 2018-10-30 | 2018-10-30 | 视频播放方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811280889.8A CN109246466B (zh) | 2018-10-30 | 2018-10-30 | 视频播放方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109246466A CN109246466A (zh) | 2019-01-18 |
CN109246466B true CN109246466B (zh) | 2021-06-11 |
Family
ID=65079579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811280889.8A Active CN109246466B (zh) | 2018-10-30 | 2018-10-30 | 视频播放方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109246466B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109819268B (zh) * | 2019-03-15 | 2021-03-02 | 网易(杭州)网络有限公司 | 视频直播中的直播间播放控制方法、装置、介质及设备 |
CN111782308B (zh) * | 2019-06-19 | 2024-08-16 | 北京京东尚科信息技术有限公司 | 用于呈现页面的方法和装置 |
CN110286832A (zh) * | 2019-07-04 | 2019-09-27 | 北京百佑科技有限公司 | 一种应用界面的显示方法、智能终端及可读存储介质 |
CN110569474A (zh) * | 2019-09-12 | 2019-12-13 | 上海掌门科技有限公司 | 信息显示方法和装置 |
CN110636324B (zh) * | 2019-10-24 | 2021-06-11 | 腾讯科技(深圳)有限公司 | 界面显示方法、装置、计算机设备及存储介质 |
CN112153409B (zh) * | 2020-09-29 | 2022-08-19 | 广州虎牙科技有限公司 | 直播方法、装置、直播接收端及存储介质 |
CN112437317B (zh) * | 2020-10-23 | 2022-06-03 | 深圳唐恩科技有限公司 | 一种直播画面切换方法、装置以及系统 |
CN112383808A (zh) * | 2020-11-02 | 2021-02-19 | 广州繁星互娱信息科技有限公司 | 视频播放方法、装置、终端及存储介质 |
CN112188271B (zh) * | 2020-11-13 | 2021-08-06 | 四川长虹电器股份有限公司 | 一种智能电视的窗口层级配置方法 |
CN113126839B (zh) * | 2021-03-16 | 2023-06-23 | 北京达佳互联信息技术有限公司 | 一种对象播放方法、装置、电子设备及存储介质 |
CN113282362B (zh) * | 2021-05-20 | 2024-07-05 | Oppo广东移动通信有限公司 | 应用程序管理方法、装置、存储介质以及终端 |
CN113613053B (zh) * | 2021-07-26 | 2023-03-21 | 北京达佳互联信息技术有限公司 | 视频推荐方法、装置、电子设备及存储介质 |
CN113873315A (zh) * | 2021-10-27 | 2021-12-31 | 北京达佳互联信息技术有限公司 | 一种视频数据播放方法、装置及设备 |
CN114040243B (zh) * | 2021-11-04 | 2023-08-04 | 上海哔哩哔哩科技有限公司 | 直播间视频播放方法及装置 |
CN113923502B (zh) * | 2021-11-04 | 2023-03-21 | 上海哔哩哔哩科技有限公司 | 直播视频播放方法及装置 |
CN114245157B (zh) * | 2021-12-01 | 2024-06-21 | 广州方硅信息技术有限公司 | 直播间活动数据展示方法及其装置、设备、介质、产品 |
CN115314725B (zh) * | 2022-07-15 | 2023-08-04 | 一点灵犀信息技术(广州)有限公司 | 基于主播应用的交互方法及终端设备 |
CN115834946A (zh) * | 2022-11-09 | 2023-03-21 | 北京字跳网络技术有限公司 | 交互方法、装置、电子设备和存储介质 |
CN116708900B (zh) * | 2022-11-17 | 2024-03-22 | 荣耀终端有限公司 | 视频播放方法及电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102307318A (zh) * | 2011-03-18 | 2012-01-04 | 海尔集团公司 | 通过网络电视进行网络视频的处理方法及系统 |
CN104166458A (zh) * | 2014-08-12 | 2014-11-26 | 广州华多网络科技有限公司 | 控制多媒体播放器的方法及装置 |
CN105468240A (zh) * | 2015-12-29 | 2016-04-06 | 北京金山安全软件有限公司 | 一种多媒体内容展示方法及装置 |
CN105915993A (zh) * | 2016-06-27 | 2016-08-31 | 北京奇虎科技有限公司 | 利用寄生工具包实现的视频播放模式设置方法及装置 |
CN106792089A (zh) * | 2016-12-15 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 视频播放方法和装置 |
CN108153646A (zh) * | 2017-12-26 | 2018-06-12 | 北京酷我科技有限公司 | 一种通用的监控Android前后台的方法 |
CN108279835A (zh) * | 2017-01-05 | 2018-07-13 | 腾讯科技(深圳)有限公司 | 窗口显示控制方法和装置 |
CN108366301A (zh) * | 2018-04-24 | 2018-08-03 | 中国广播电视网络有限公司 | 一种基于Android的视频悬浮播放方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101583019B (zh) * | 2009-06-01 | 2011-06-22 | 中兴通讯股份有限公司 | 一种在网络电视中实现画中画的方法、系统及机顶盒 |
CN103957447B (zh) * | 2014-05-08 | 2017-07-18 | 济南四叶草信息技术有限公司 | 悬浮多窗口播放系统 |
CN104202676A (zh) * | 2014-09-12 | 2014-12-10 | 北京赛科世纪数码科技有限公司 | 一种频道切换方法和系统 |
CN104216752B (zh) * | 2014-09-30 | 2017-06-09 | 珠海市君天电子科技有限公司 | 一种基于窗口的信息加载方法及装置 |
CN105872801A (zh) * | 2015-12-29 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 视频切换方法和装置 |
CN106028143A (zh) * | 2016-05-27 | 2016-10-12 | 北京小米移动软件有限公司 | 视频直播方法及装置 |
CN106303664B (zh) * | 2016-10-13 | 2019-07-23 | 合一信息技术(北京)有限公司 | 视频播放方法及装置 |
CN108093290B (zh) * | 2017-12-13 | 2019-03-08 | 广州虎牙信息科技有限公司 | 直播画面内容切换展示方法、存储设备及计算机设备 |
CN108419117B (zh) * | 2018-04-28 | 2020-09-08 | 中广热点云科技有限公司 | 一种实现视频小窗口播放的装置及方法 |
-
2018
- 2018-10-30 CN CN201811280889.8A patent/CN109246466B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102307318A (zh) * | 2011-03-18 | 2012-01-04 | 海尔集团公司 | 通过网络电视进行网络视频的处理方法及系统 |
CN104166458A (zh) * | 2014-08-12 | 2014-11-26 | 广州华多网络科技有限公司 | 控制多媒体播放器的方法及装置 |
CN105468240A (zh) * | 2015-12-29 | 2016-04-06 | 北京金山安全软件有限公司 | 一种多媒体内容展示方法及装置 |
CN105915993A (zh) * | 2016-06-27 | 2016-08-31 | 北京奇虎科技有限公司 | 利用寄生工具包实现的视频播放模式设置方法及装置 |
CN106792089A (zh) * | 2016-12-15 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 视频播放方法和装置 |
CN108279835A (zh) * | 2017-01-05 | 2018-07-13 | 腾讯科技(深圳)有限公司 | 窗口显示控制方法和装置 |
CN108153646A (zh) * | 2017-12-26 | 2018-06-12 | 北京酷我科技有限公司 | 一种通用的监控Android前后台的方法 |
CN108366301A (zh) * | 2018-04-24 | 2018-08-03 | 中国广播电视网络有限公司 | 一种基于Android的视频悬浮播放方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109246466A (zh) | 2019-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109246466B (zh) | 视频播放方法、装置及电子设备 | |
CN111147878B (zh) | 直播中的推流方法、装置及计算机存储介质 | |
CN109348247B (zh) | 确定音视频播放时间戳的方法、装置及存储介质 | |
CN109618212B (zh) | 信息显示方法、装置、终端及存储介质 | |
CN108449641B (zh) | 播放媒体流的方法、装置、计算机设备和存储介质 | |
CN110278464B (zh) | 显示榜单的方法和装置 | |
CN111464830B (zh) | 图像显示的方法、装置、系统、设备及存储介质 | |
CN109451343A (zh) | 视频分享方法、装置、终端及存储介质 | |
CN110533585B (zh) | 一种图像换脸的方法、装置、系统、设备和存储介质 | |
CN111083526B (zh) | 视频转场方法、装置、计算机设备及存储介质 | |
CN110740340B (zh) | 视频直播方法及装置、存储介质 | |
CN107896337B (zh) | 信息推广方法、装置及存储介质 | |
CN110196673B (zh) | 图片交互方法、装置、终端及存储介质 | |
CN112118477A (zh) | 虚拟礼物展示方法、装置、设备以及存储介质 | |
CN110149557A (zh) | 视频播放方法、装置、终端和存储介质 | |
CN109451248B (zh) | 视频数据的处理方法、装置、终端及存储介质 | |
CN110839174A (zh) | 图像处理的方法、装置、计算机设备以及存储介质 | |
CN109089137B (zh) | 卡顿检测方法及装置 | |
CN112383808A (zh) | 视频播放方法、装置、终端及存储介质 | |
CN111818358A (zh) | 音频文件的播放方法、装置、终端及存储介质 | |
CN111368114A (zh) | 信息展示方法、装置、设备及存储介质 | |
CN113204672A (zh) | 资源展示方法、装置、计算机设备及介质 | |
CN110868642B (zh) | 视频播放方法、装置及存储介质 | |
CN110769120A (zh) | 进行消息提醒的方法、装置、设备及存储介质 | |
CN112616082A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |