CN113873316B - 直播间视频播放方法及装置 - Google Patents
直播间视频播放方法及装置 Download PDFInfo
- Publication number
- CN113873316B CN113873316B CN202111298165.8A CN202111298165A CN113873316B CN 113873316 B CN113873316 B CN 113873316B CN 202111298165 A CN202111298165 A CN 202111298165A CN 113873316 B CN113873316 B CN 113873316B
- Authority
- CN
- China
- Prior art keywords
- live
- video
- video player
- playing
- floating window
- 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
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000007667 floating Methods 0.000 claims abstract description 96
- 230000001960 triggered effect Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 11
- 239000000725 suspension Substances 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004883 computer application Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241001362551 Samba Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000000763 evoking effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
-
- 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/439—Processing of audio elementary streams
- H04N21/4396—Processing of audio elementary streams by muting the audio signal
-
- 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
-
- 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/44213—Monitoring of end-user related data
-
- 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/4781—Games
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Social Psychology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请公开了一种直播间视频播放方法。该方法包括:在检测到用户进入直播间播放页面时,采用第一视频播放器对直播视频进行播放;检测是否接收到悬浮窗模式的开启指令;若接收到所述开启指令,则创建第二视频播放器,退出直播间播放页面,以及销毁所述第一视频播放器;通过所述第二视频播放器以悬浮方式对所述直播视频进行播放。本申请可支持悬浮窗模式播放直播间的视频。
Description
技术领域
本申请涉及视频技术领域,尤其涉及一种直播间视频播放方法及装置。
背景技术
随着互联网技术的发展和移动终端的普及,直播行业也得到了迅速的发展,越来越多的通过直播客户端在直播间中观看直播视频。然而,发明人发现,当用户使用iOS版的终端设备在直播间中观看直播视频时,用户不能通过悬浮窗模式进行直播视频的观看,导致用户体验不佳。
发明内容
有鉴于此,现提供一种直播间视频播放方法、装置、计算机设备及计算机可读存储介质,以解决现有的用户使用iOS版的终端设备在直播间中观看直播视频时,不能通过悬浮窗模式进行直播视频的观看的问题。
本申请提供了一种直播间视频播放方法,包括:
在检测到用户进入直播间播放页面时,采用第一视频播放器对直播视频进行播放;
检测是否接收到悬浮窗模式的开启指令;
若接收到所述开启指令,则创建第二视频播放器;
退出所述直播间播放页面,并销毁所述第一视频播放器;
通过所述第二视频播放器以悬浮方式对所述直播视频进行播放。
可选地,所述若接收到所述开启指令,则创建第二视频播放器包括:
若接收到所述开启指令,则判断所述第一视频播放器是否支持所述悬浮窗模式;
若判定出所述第一视频播放器不支持所述悬浮窗模式,则创建第二视频播放器。
可选地,所述创建第二视频播放器的步骤之后,还包括:
将所述第二视频播放器的属性设置为隐藏静音。
可选地,所述通过所述第二视频播放器以悬浮方式对所述直播视频进行播放包括:
通过操作系统创建悬浮窗;
通过所述第二视频播放器在所述悬浮窗中对所述直播视频进行播放。
可选地,所述在检测到用户进入直播间播放页面时,采用第一视频播放器对直播视频进行播放包括:
在检测到用户进入直播间播放页面时,采用所述第一视频播放器从预设的直播服务器中拉取所述直播间对应的直播视频流;
采用所述第一视频播放器对所述直播视频流进行解码播放。
可选地,所述通过所述第二视频播放器以悬浮方式对所述直播视频进行播放的步骤之后,还包括:
当检测到用户在所述悬浮窗的区域内中触发的点击操作时,创建所述第一视频播放器,并通过所述第一视频播放器拉取所述直播间对应的直播视频流;
通过所述第一视频播放器在所述直播间中对所述直播视频流进行解码播放,并将所述第二视频播放器销毁。
可选地,所述第一视频播放器为ijkPlayer,所述第二视频播放器为AVplayer。
本申请还提供了一种直播间视频播放装置,包括:
第一播放模块,用于在检测到用户进入直播间播放页面时,采用第一视频播放器对直播视频进行播放;
检测模块,用于检测是否接收到悬浮窗模式的开启指令;
创建模块,用于若接收到所述开启指令,则创建第二视频播放器;
退出模块,用于退出所述直播间播放页面,并销毁所述第一视频播放器;
第二播放模块,用于通过所述第二视频播放器以悬浮方式对所述直播视频进行播放。
本申请还提供了一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本实施例中通过在检测到用户进入直播间播放页面时,采用第一视频播放器对直播视频进行播放;检测是否接收到悬浮窗模式的开启指令;若接收到所述开启指令,则创建第二视频播放器,退出直播间播放页面,并销毁所述第一视频播放器;通过所述第二视频播放器以悬浮方式对所述直播视频进行播放。本申请通过在检测到用户触发的悬浮窗模式开启指令后,会创建一个第二视频播放器来播放当前直播间的直播视频,从而可以使得直播客户端能够支持悬浮窗模式,提高用户体验。
附图说明
图1为本申请实施例的直播间视频播放方法的环境示意图;
图2为本申请所述的直播间视频播放方法的一种实施例的流程图;
图3a-3c为本申请一实施方式中开启悬浮窗模式的过程示意图;
图4为本申请一实施方式中若接收到所述开启指令,则创建第二视频播放器的步骤细化流程示意图;
图5为本申请一实施方式中通过所述第二视频播放器以悬浮方式对所述直播视频进行播放的步骤细化流程示意图;
图6为本申请所述的直播间视频播放方法的另一种实施例的流程图;
图7为本申请所述的直播间视频播放装置的一种实施例的程序模块图;
图8为本申请实施例提供的执行直播间视频播放方法的计算机设备的硬件结构示意图。
具体实施方式
以下结合附图与具体实施例进一步阐述本申请的优点。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
图1示出了本申请实施例提供的应用场景的一种示意图,该应用场景包括:直播服务器100、主播终端200和观众终端300。其中,直播服务器100、主播终端200和观众终端300位于无线网络或有线网络中,直播服务器100与主播终端200和观众终端300可以进行数据交互。在一些实施方式中,主播终端200的数量(图1中仅示出一个)以及观众终端300的数量(图1中仅示出一个)可以不做限定,观众终端300与主播终端200可以将直播服务器100作为传输中介,并通过互联网来实现相互间的数据交互。
在本申请实施例中,直播服务器100可以是单独的服务器,也可以是服务器集群,可以是本地服务器,也可以是云端服务器,具体的服务器类型在本申请实施例中可以不作为限定。主播终端200以及观众终端300可以是移动手机、智能手机、笔记本电脑、台式电脑、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、媒体播放器、智能电视、可穿戴电子设备等,具体的终端设备类型在本申请实施例中可以不作为限定。
在本实施例中,主播终端200内可以安装有直播客户端,该直播客户端用于实现主播进行视频直播。该直播客户端可以是安装在主播终端200上的计算机应用程序(Application,APP),也可以是Web客户端,该Web客户端可指基于Web架构而开发的应用程序。
在本实施例中,观众终端300内可以安装有观众客户端,该观众客户端用于实现观众接收直播内容,并对直播内容进行展示。该观众客户端可以是安装在观众终端300上的计算机应用程序(Application,APP),也可以是Web客户端,该Web客户端可指基于Web架构而开发的应用程序。
参阅图2,其为本申请一实施例的直播间视频播放方法的流程示意图。本申请的直播间视频播放方法可以应用于iOS版本的直播APP(应用程序中)中,可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。从图中可以看出,本实施例中所提供的直播间视频播放方法包括:
步骤S20、在检测到用户进入直播间播放页面时,采用第一视频播放器对直播视频进行播放。
具体地,当用户打开直播APP后,可以从直播首页中展示的多个直播间选择一个直播间进入观看直播视频。当用户选定一个直播间,并进入该选定的直播间播放页面观看直播视频时,直播APP会创建第一视频播放器来对直播视频进行播放。
在一示例性的实施方式中,在检测到用户进入直播间播放页面时,采用第一视频播放器对直播视频进行播放可以包括:在检测到用户进入直播间播放页面时,采用所述第一视频播放器从预设的直播服务器中拉取所述直播间对应的直播视频流;采用所述第一视频播放器对所述直播视频流进行解码播放。
具体地,当用户选定一个直播间,并进入该选定的直播间观看直播视频时,直播APP会从预设的直播服务器中拉取该直播间的直播视频对应的直播视频流,之后,直播APP可以通过创建好的第一视频播放器对该直播视频流进行解码播放。
其中,所述第一视频播放器为不支持悬浮窗模式(画中画模式)的视频播放器,该第一视频播放器优选为ijkPlayer。ijkPlayer是b站开源的一个基于ffplay的轻量级Android/iOS视频播放器。
其中,直播服务器为存储所有直播间的直播视频流的服务器。在本实施例中,直播APP可以根据当前直播间的直播视频流的地址向直播服务器拉取该直播间的直播视频流。
步骤S21、检测是否接收到悬浮窗模式的开启指令。
具体地,所述悬浮窗模式指的是一种以悬浮窗口的方式播放直播视频的视频播放模式,通常,该悬浮窗模式也可以称为画中画模式。所述开启指令用于开启悬浮窗模式来播放直播间的视频。
在用户进入直播间播放页面观看视频的过程中,用户可以选择采用悬浮窗模式来播放用户当前在直播间所观看的直播视频。具体而言,用户可以在直播播放页面中点击预设的按钮来触发悬浮窗模式的开启指令,或者用户可以通过在直播播放页面中执行预设的操作来触发悬浮窗模式开启指令,在本实施例中不作限定。
在一具体场景中,当用户需要开启悬浮窗模式时,用户可以预先点击悬浮窗画面板唤醒按钮,当直播APP检测到用户点击悬浮窗画面板唤醒按钮触发的悬浮窗画面板唤醒指令后,会在直播APP当前展示的页面中弹出悬浮窗画面板。之后,用户可以点击悬浮窗画面板中的悬浮窗按钮来触发悬浮窗模式开启指令。最后,当直播APP检测到用户触发的悬浮窗模式开启指令,会采用悬浮窗模式对直播视频进行播放。
需要说明的是,本实施例中的悬浮窗画面板至少包含悬浮窗按钮,该悬浮窗按钮为用于触发生成悬浮窗模式的开启指令的按钮。
作为示例,参阅图3a-3c,用户在直播间中观看视频时,可以先点击图3a中的“…”按钮,从而唤起悬浮窗画面板,之后,用户可以继续点击图3b中的“小窗播放”按钮来触发悬浮窗模式的开启指令。当检测到用户触发的悬浮窗模式的开启指令后,会根据该指令进行一序列的处理操作,从而得到图3c所示的页面。
步骤S22,若接收到所述开启指令,则创建第二视频播放器。
具体地,所述第二视频播放器为可支持悬浮窗模式的视频播放器,在本实施例中,所述第二视频播放器优选为AVPlayer。AVPlayer是一个可以播放任何格式的全功能影音播放器,适应于iPhone/iPod/iPad。可以通过itunes或者WiFi传输文件到播放器内,也可以通过内置的下载客户端直接从Ftp/Samba/UPnP等服务器中打开影音文件,或者下载文件,还做了内置的相片浏览器,可以看相片。
在一示例性的实施方式中,当创建好第二视频播放器,可以将所述第二视频播放器的属性设置为隐藏静音,即,将第二视频播放器的播放模式设置为非正常播放模式。
其中,所述非正常播放模式是相对于正常播放模式而言的,在本实施例中,所述非正常播放模式指的是视频播放器处于后台对直播视频进行静音播放,即视频播放器隐藏在后台对视频进行不发出声音的播放。具体而言,所述第二视频播放器可以在后台对所述直播视频流进行解码,并采用预设帧率对解码后得到的直播画面进行静音播放。其中,所述预设帧率为预先设定的播放帧率,该帧率优选为一个较低的帧率,比如,所述预设帧率为1帧/s。
本实施例中,第二视频播放器在后台对直播视频流进行解码后,会以一个极低的帧率对解码后得到的直播画面进行静音播放,以便可以降低第二视频播放器的性能消耗。
需要说明的是,所述正常播放模式为播放器处于前台对直播视频进行正常声音和正常帧率播放,其中,本实施例中的正常声音播放指的是采用默认的音量进行播放。本实施例中的正常帧率指的是采用直播视频流中编码的帧率进行播放,比如,直播视频流中的编码帧率是60帧,则在对直播视频流进行解码播放时,也是采用每秒60帧画面的方式进行视频播放。
在本实施方式中,当检测到用户进入直播间播放页面观看直播视频时,会先创建第一视频播放器,在接收到用户在直播间触发的悬浮窗模式开启后,才会创建所述第二视频播放器。
在另一实施方式中,当检测到用户进入直播间观看直播视频时,可以同时创建第一视频播放器和第二视频播放器。当同时创建两个视频播放器后,为了避免两个视频播放器相互干扰,可以将第一视频播放器设置为正常播放模式,将第二视频播放器设置为非正常播放模式。
步骤S23,退出所述直播间播放页面,并销毁所述第一视频播放器。
在本实施例中,当接收到所述开启指令后,还会退出当前直播间播放页面,即退出当前直播间。同时,为了避免第一视频播放器占用资源,可以将所述第一视频播发器销毁,从而释放所述第一视频播放器占用的资源。在一实施方式中,在退出直播间播放页面后,也可以不将所述第一视频播放器销毁时,而是仅仅将该第一视频播放器从前台关闭,并将其隐藏在后台静音播放。
在一实施方式中,当退出当前直播间播放页面后,可以返回显示当前直播播放页面的上一级页面,比如,返回显示直播首页。
在另一实施方式中,当退出当前直播间播放页面后,也可以返回显示终端系统桌面。
在另一实施方式中,当退出当前直播间播放页面后,也可以返回显示其他应用程序的页面,比如,展示浏览器APP的页面。
在一示例性的实施方式中,参阅图4,所述若接收到所述开启指令,则创建第二视频播放器可以包括:步骤S40,若接收到所述开启指令,则判断所述第一视频播放器是否支持悬浮窗模式;步骤S41,若判定出所述第一视频播放器不支持悬浮窗模式,则创建第二视频播放器。
具体地,可以通过判断所述第一视频播放器是否为预设的视频播放器的方式来判定所述第一视频播放器是否支持悬浮窗模式。所述预设的播放器为预先设定的支持悬浮窗模式的视频播放器。
作为示例,可以判断所述第一视频播放器是否为AVPlayer来判定所述第一视频播放器是否支持悬浮窗模式。
在本实施例中,当判定出所述第一视频播放器不支持悬浮窗模式,则可以创建第二视频播放器。当判定出所述第一视频播放器支持悬浮窗模式,则无需创建所述第二视频播放器。
在本实施例中,为了避免直播间中播放的直播视频和采用悬浮窗模式播放的直播视频进行同时播放导致相互干扰,在本实施例中,当通创建好第二视频播放器后,可以直接将所述直播间页面退出。
步骤S24,通过所述第二视频播放器以悬浮方式对所述直播视频进行播放。
具体地,第二视频播放器在创建好之后,可以根据当前直播间的直播视频流的地址向直播服务器拉取该直播间的直播视频流。其中,直播服务器为存储所有直播间的直播视频的服务器。
当第二视频播放器成功从直播服务器中拉流得到直播视频流时,该第二视频播放器会对该直播视频流进行解析,然后将解析得到的直播画面以悬浮方式进行播放。
在一示例性的实施方式中,参阅图5,所述通过所述第二视频播放器以悬浮方式对所述直播视频进行播放可以包括:步骤S50,通过操作系统创建悬浮窗;步骤S51,通过所述第二视频播放器在所述悬浮窗中对所述直播视频进行播放。
具体地,所述操作系统为终端设备的操作系统,在本实施例中,所述操作系统为iOS系统。所述悬浮窗为一个悬浮窗口。通过该悬浮窗可以显示直播画面。
本实施例中,当创建好第二视频播放器后,该第二视频播放器会被托管给操作系统,之后,操作系统就会创建一个悬浮窗,这样,第二视频播放器就可以在该悬浮窗播放解码后得到的直播画面。
在一示例性的实施方式中,参阅图6,所述通过所述第二视频播放器以悬浮方式对所述直播视频进行播放的步骤之后,还包括:
步骤S60,当检测到用户在所述悬浮窗的区域内中触发的点击操作时,创建所述第一视频播放器,并通过所述第一视频播放器拉取所述直播间对应的直播视频流。
具体地,用户可以通过在所述悬浮窗的区域内进行点击操作来将当前悬浮窗模式重新切换为直播间播放模式。具体而言,用户可以通过点击属于悬浮窗的区域中的任意位置来触发将当前悬浮窗模式重新切换为直播间播放模式,也可以点击属于悬浮窗的区域中的预设位置来触发将当前悬浮窗模式重新切换为直播间播放模式,其中,所述预设位置为预先设定的悬浮窗的区域中的某一部分区域。
在本实施例中,在检测到用户触发的点击操作后,会重建创建所述第一视频播放器,并在创建好所述第一视频播放器后,会通过该第一视频播放器根据所述直播间的直播视频流的地址向直播服务器拉取该直播间的直播视频流。
可以理解的是,当所述第一视频播放器一直在后台,没有被销毁时,则在检测到用户触发的点击操作后,则无需重新创建所述第一视频播放器。
步骤S61,通过所述第一视频播放器在所述直播间中对所述直播视频流进行解码播放,并将所述第二视频播放器销毁。
具体地,创建好所述第一视频播放器后,即可以进入直播间采用所述第一视频播放器对所述直播视频流进行解码播放。
在本实施例中,为了避免第二视频播放器占用资源,当通过所述第一视频播放器在所述直播间中对所述直播视频流进行解码播放时,可以将所述第二视频播发器销毁,从而释放所述第二视频播放器占用的资源。
本实施例中通过在检测到用户进入直播间播放页面时,采用第一视频播放器对直播视频进行播放;检测是否接收到悬浮窗模式的开启指令;若接收到所述开启指令,则创建第二视频播放器,退出所述直播间播放页面,并销毁所述第一视频播放器;通过所述第二视频播放器以悬浮方式对所述直播视频进行播放。本申请通过在检测到用户触发的悬浮窗模式开启指令后,会创建一个第二视频播放器来播放当前直播间的直播视频,从而可以使得直播客户端能够支持悬浮窗模式,提高用户体验。
参阅图7所示,是本申请直播间视频播放装置70一实施例的程序模块图。
本实施例中,所述直播间视频播放装置70包括一系列的存储于存储器上的计算机程序指令,当该计算机程序指令被处理器执行时,可以实现本申请各实施例的直播间视频播放功能。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,直播间视频播放装置70可以被划分为一个或多个模块,具体可以划分的模块如下:
第一播放模块71,用于在检测到用户进入直播间播放页面时,采用第一视频播放器对直播视频进行播放;
检测模块72,用于检测是否接收到悬浮窗模式的开启指令;
创建模块73,用于若接收到所述开启指令,则创建第二视频播放器;
退出模块74,用于退出所述直播间播放页面,并销毁所述第一视频播放器;
第二播放模块75,用于通过所述第二视频播放器以悬浮方式对所述直播视频进行播放。
在一示例性的实施方式中,创建模块73,还用于若接收到所述开启指令,则判断所述第一视频播放器是否支持所述悬浮窗模式;若判定出所述第一视频播放器不支持所述悬浮窗模式,则创建第二视频播放器。
在一示例性的实施方式中,直播间视频播放装置70还包括设置模块。
所述设置模块,用于将所述第二视频播放器的属性设置为隐藏静音。
在一示例性的实施方式中,第二播放模块75,还用于通过操作系统创建悬浮窗;通过所述第二视频播放器在所述悬浮窗中对所述直播视频进行播放。
在一示例性的实施方式中,第一播放模块71,还用于在检测到用户进入直播间播放页面时,采用所述第一视频播放器从预设的直播服务器中拉取所述直播间对应的直播视频流;采用所述第一视频播放器对所述直播视频流进行解码播放。
在一示例性的实施方式中,所述创建模块73,还用于当检测到用户在所述悬浮窗的区域内中触发的点击操作时,创建所述第一视频播放器,并通过所述第一视频播放器拉取所述直播间对应的直播视频流;
所述第一播放模块71,还用于通过所述第一视频播放器在所述直播间中对所述直播视频流进行解码播放,并将所述第二视频播放器销毁。
在一示例性的实施方式中,所述第一视频播放器为ijkPlayer,所述第二视频播放器为AVplayer。
本实施例中通过在检测到用户进入直播间播放页面时,采用第一视频播放器对直播视频进行播放;检测是否接收到悬浮窗模式的开启指令;若接收到所述开启指令,则创建第二视频播放器,并退出至直播将播放页面,以及销毁所述第一视频播放器;通过所述第二视频播放器以悬浮方式对所述直播视频进行播放。本申请通过在检测到用户触发的悬浮窗模式开启指令后,会创建一个第二视频播放器来播放当前直播间的直播视频,从而可以使得直播客户端能够支持悬浮窗模式,提高用户体验。
图8示意性示出了根据本申请实施例的适于实现直播间视频播放方法的计算机设备8的硬件架构示意图。本实施例中,计算机设备8是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图8所示,计算机设备8至少包括但不限于:可通过系统总线相互通信链接存储器120、处理器121、网络接口122。其中:
存储器120至少包括一种类型的计算机可读存储介质,该可读存储介质可以是易失性的,也可以是非易失性的,具体而言,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器120可以是计算机设备8的内部存储模块,例如该计算机设备8的硬盘或内存。在另一些实施例中,存储器120也可以是计算机设备8的外部存储设备,例如该计算机设备8上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器120还可以既包括计算机设备8的内部存储模块也包括其外部存储设备。本实施例中,存储器120通常用于存储安装于计算机设备8的操作系统和各类应用软件,例如直播间视频播放方法的程序代码等。此外,存储器120还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器121在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其它直播间视频播放芯片。该处理器121通常用于控制计算机设备8的总体操作,例如执行与计算机设备8进行数据交互或者通信相关的控制和处理等。本实施例中,处理器121用于运行存储器120中存储的程序代码或者处理数据。
网络接口122可包括无线网络接口或有线网络接口,该网络接口122通常用于在计算机设备8与其它计算机设备之间建立通信链接。例如,网络接口122用于通过网络将计算机设备8与外部终端相连,在计算机设备8与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(GlobalSystem of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code DivisionMultiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图8仅示出了具有部件120~122的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器120中的直播间视频播放方法可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器121)所执行,以完成本申请。
本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的直播间视频播放方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中的直播间视频播放方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到至少两个网络单元上。可以根据实际的需要筛选出其中的部分或者全部模块来实现本申请实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (7)
1.一种直播间视频播放方法,其特征在于,包括:
在检测到用户进入直播间播放页面时,采用第一视频播放器对直播视频进行播放;
检测是否接收到悬浮窗模式的开启指令;
若接收到所述开启指令,则创建第二视频播放器;
退出所述直播间播放页面,并销毁所述第一视频播放器;
通过所述第二视频播放器以悬浮方式对所述直播视频进行播放;
所述若接收到所述开启指令,则创建第二视频播放器包括:
若接收到所述开启指令,则判断所述第一视频播放器是否支持所述悬浮窗模式;
若判定出所述第一视频播放器不支持所述悬浮窗模式,则创建第二视频播放器;
所述创建第二视频播放器的步骤之后,还包括:
将所述第二视频播放器的属性设置为隐藏静音;
其中,所述通过所述第二视频播放器以悬浮方式对所述直播视频进行播放包括:
当检测到用户在所述悬浮窗的区域内中触发的点击操作时,创建所述第一视频播放器,并通过所述第一视频播放器拉取所述直播间对应的直播视频流;
通过所述第一视频播放器在所述直播间中对所述直播视频流进行解码播放,并将所述第二视频播放器销毁。
2.根据权利要求1所述的直播间视频播放方法,其特征在于,所述通过所述第二视频播放器以悬浮方式对所述直播视频进行播放包括:
通过操作系统创建悬浮窗;
通过所述第二视频播放器在所述悬浮窗中对所述直播视频进行播放。
3.根据权利要求1至2任一项所述的直播间视频播放方法,其特征在于,所述在检测到用户进入直播间播放页面时,采用第一视频播放器对直播视频进行播放包括:
在检测到用户进入直播间播放页面时,采用所述第一视频播放器从预设的直播服务器中拉取所述直播间对应的直播视频流;
采用所述第一视频播放器对所述直播视频流进行解码播放。
4.根据权利要求1所述的直播间视频播放方法,其特征在于,所述第一视频播放器为ijkPlayer,所述第二视频播放器为AVplayer。
5.一种直播间视频播放装置,其特征在于,包括:
第一播放模块,用于在检测到用户进入直播间播放页面时,采用第一视频播放器对直播视频进行播放;
检测模块,用于检测是否接收到悬浮窗模式的开启指令;
创建模块,用于若接收到所述开启指令,则创建第二视频播放器;
退出模块,用于退出所述直播间播放页面,并销毁所述第一视频播放器;
第二播放模块,用于通过所述第二视频播放器以悬浮方式对所述直播视频进行播放;
所述创建模块,还用于若接收到所述开启指令,则判断所述第一视频播放器是否支持所述悬浮窗模式;若判定出所述第一视频播放器不支持所述悬浮窗模式,则创建第二视频播放器;将所述第二视频播放器的属性设置为隐藏静音;
所述第二播放模块,还用于当检测到用户在所述悬浮窗的区域内中触发的点击操作时,创建所述第一视频播放器,并通过所述第一视频播放器拉取所述直播间对应的直播视频流;通过所述第一视频播放器在所述直播间中对所述直播视频流进行解码播放,并将所述第二视频播放器销毁。
6.一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至4任一项所述的方法的步骤。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至4任一项所述的方法的步骤。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202111298165.8A CN113873316B (zh) | 2021-11-04 | 2021-11-04 | 直播间视频播放方法及装置 |
| PCT/CN2022/097808 WO2023077800A1 (zh) | 2021-11-04 | 2022-06-09 | 直播间视频播放方法及装置 |
| US18/622,723 US20240276031A1 (en) | 2021-11-04 | 2024-03-29 | Live room video playback |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202111298165.8A CN113873316B (zh) | 2021-11-04 | 2021-11-04 | 直播间视频播放方法及装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN113873316A CN113873316A (zh) | 2021-12-31 |
| CN113873316B true CN113873316B (zh) | 2024-02-27 |
Family
ID=78986817
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202111298165.8A Active CN113873316B (zh) | 2021-11-04 | 2021-11-04 | 直播间视频播放方法及装置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20240276031A1 (zh) |
| CN (1) | CN113873316B (zh) |
| WO (1) | WO2023077800A1 (zh) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113873316B (zh) * | 2021-11-04 | 2024-02-27 | 上海哔哩哔哩科技有限公司 | 直播间视频播放方法及装置 |
| CN114040243B (zh) * | 2021-11-04 | 2023-08-04 | 上海哔哩哔哩科技有限公司 | 直播间视频播放方法及装置 |
| CN120144818A (zh) * | 2025-05-15 | 2025-06-13 | 北京搜狐新动力信息技术有限公司 | 一种音频悬浮窗播放控制方法及相关装置 |
Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103702214A (zh) * | 2013-12-10 | 2014-04-02 | 乐视网信息技术(北京)股份有限公司 | 一种视频播放方法和电子设备 |
| CN106572379A (zh) * | 2016-10-18 | 2017-04-19 | 深圳市云宙多媒体技术有限公司 | 一种网页视频画中画播放方法及装置 |
| WO2017201860A1 (zh) * | 2016-05-27 | 2017-11-30 | 北京小米移动软件有限公司 | 视频直播方法及装置 |
| CN108419117A (zh) * | 2018-04-28 | 2018-08-17 | 中广热点云科技有限公司 | 一种实现视频小窗口播放的装置及方法 |
| CN108900914A (zh) * | 2018-07-09 | 2018-11-27 | 北京酷我科技有限公司 | 一种基于视频播放所有者的视图控制方法 |
| CN109491753A (zh) * | 2018-11-29 | 2019-03-19 | 北京达佳互联信息技术有限公司 | 悬浮窗口显示方法、装置及存储介质 |
| CN110324693A (zh) * | 2018-03-30 | 2019-10-11 | 武汉斗鱼网络科技有限公司 | 用于实现多小窗播放视频的直播间处理方法及装置 |
| CN111107415A (zh) * | 2018-10-26 | 2020-05-05 | 武汉斗鱼网络科技有限公司 | 一种直播间画中画播放方法、存储介质、电子设备及系统 |
| CN113542886A (zh) * | 2020-04-14 | 2021-10-22 | 北京搜狗科技发展有限公司 | 一种视频播放方法、装置和用于播放视频的装置 |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8554278B2 (en) * | 2005-12-20 | 2013-10-08 | Sony Corporation | Mobile device display of multiple streamed data sources |
| CN106162232A (zh) * | 2016-06-29 | 2016-11-23 | 乐视控股(北京)有限公司 | 视频播放控制方法及装置 |
| CN106791953B (zh) * | 2016-12-22 | 2020-04-21 | 北京奇艺世纪科技有限公司 | 多播放器控制方法、服务器及客户端 |
| CN107908929B (zh) * | 2017-11-24 | 2020-07-31 | 腾讯音乐娱乐科技(深圳)有限公司 | 播放音频数据的方法和装置 |
| CN108900911A (zh) * | 2018-06-29 | 2018-11-27 | 青岛海信宽带多媒体技术有限公司 | 实现画中画功能的视频播放方法、装置及显示设备 |
| CN110891193B (zh) * | 2018-09-11 | 2022-05-20 | 广州虎牙信息科技有限公司 | 直播视频处理方法、装置、终端及存储介质 |
| CN109451341B (zh) * | 2018-10-30 | 2020-09-11 | 北京达佳互联信息技术有限公司 | 视频播放方法、视频播放装置、电子设备及存储介质 |
| CN109831688B (zh) * | 2019-03-11 | 2021-01-22 | 山东云缦智能科技有限公司 | 一种基于iOS系统的视频悬浮播放方法及装置 |
| CN112437326A (zh) * | 2020-11-23 | 2021-03-02 | 广州虎牙科技有限公司 | 视频显示方法、装置、电子设备及计算机可读存储介质 |
| CN112788427B (zh) * | 2021-01-07 | 2022-12-06 | 北京电子科技职业学院 | 一种实现视频小窗口播放的装置及方法 |
| CN115774511A (zh) * | 2021-09-06 | 2023-03-10 | 华为技术有限公司 | 批注方法和电子设备 |
| CN113873316B (zh) * | 2021-11-04 | 2024-02-27 | 上海哔哩哔哩科技有限公司 | 直播间视频播放方法及装置 |
| CN114040243B (zh) * | 2021-11-04 | 2023-08-04 | 上海哔哩哔哩科技有限公司 | 直播间视频播放方法及装置 |
-
2021
- 2021-11-04 CN CN202111298165.8A patent/CN113873316B/zh active Active
-
2022
- 2022-06-09 WO PCT/CN2022/097808 patent/WO2023077800A1/zh not_active Ceased
-
2024
- 2024-03-29 US US18/622,723 patent/US20240276031A1/en active Pending
Patent Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103702214A (zh) * | 2013-12-10 | 2014-04-02 | 乐视网信息技术(北京)股份有限公司 | 一种视频播放方法和电子设备 |
| WO2017201860A1 (zh) * | 2016-05-27 | 2017-11-30 | 北京小米移动软件有限公司 | 视频直播方法及装置 |
| CN106572379A (zh) * | 2016-10-18 | 2017-04-19 | 深圳市云宙多媒体技术有限公司 | 一种网页视频画中画播放方法及装置 |
| CN110324693A (zh) * | 2018-03-30 | 2019-10-11 | 武汉斗鱼网络科技有限公司 | 用于实现多小窗播放视频的直播间处理方法及装置 |
| CN108419117A (zh) * | 2018-04-28 | 2018-08-17 | 中广热点云科技有限公司 | 一种实现视频小窗口播放的装置及方法 |
| CN108900914A (zh) * | 2018-07-09 | 2018-11-27 | 北京酷我科技有限公司 | 一种基于视频播放所有者的视图控制方法 |
| CN111107415A (zh) * | 2018-10-26 | 2020-05-05 | 武汉斗鱼网络科技有限公司 | 一种直播间画中画播放方法、存储介质、电子设备及系统 |
| CN109491753A (zh) * | 2018-11-29 | 2019-03-19 | 北京达佳互联信息技术有限公司 | 悬浮窗口显示方法、装置及存储介质 |
| CN113542886A (zh) * | 2020-04-14 | 2021-10-22 | 北京搜狗科技发展有限公司 | 一种视频播放方法、装置和用于播放视频的装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN113873316A (zh) | 2021-12-31 |
| US20240276031A1 (en) | 2024-08-15 |
| WO2023077800A1 (zh) | 2023-05-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN114040243B (zh) | 直播间视频播放方法及装置 | |
| CN113873316B (zh) | 直播间视频播放方法及装置 | |
| CN109547819B (zh) | 直播列表展示方法、装置以及电子设备 | |
| US11218739B2 (en) | Live video broadcast method, live broadcast device and storage medium | |
| CN103329562B (zh) | 接收装置、接收方法、提供装置、提供方法和广播系统 | |
| US10271105B2 (en) | Method for playing video, client, and computer storage medium | |
| EP3193509B1 (en) | Video advertisement filtering method, device and equipment | |
| CN112243155B (zh) | 一种直播的处理方法及装置 | |
| KR20060034144A (ko) | 멀티미디어 콘텐츠의 갱신 및 재생이 가능한이동통신단말기 및 그 재생방법 | |
| JP2009514341A5 (zh) | ||
| CN111510755A (zh) | 音视频的切换方法、装置、计算机设备及可读存储介质 | |
| CN103686359A (zh) | 一种播放开机广告的方法及其装置 | |
| WO2016207735A1 (en) | A system and methods thereof for auto-playing video content on mobile devices | |
| CN108777819A (zh) | 一种基于浏览器播放器播放网页视频的控制方法及控制装置 | |
| US20170249971A1 (en) | Method for generating image in which sound source is inserted and apparatus therefor | |
| CN112367558A (zh) | 应用起播加速方法、智能播放设备及存储介质 | |
| CN112118473B (zh) | 视频弹幕显示方法、装置、计算机设备及可读存储介质 | |
| CN113139090A (zh) | 交互方法、装置、电子设备及计算机可读存储介质 | |
| CN109005455B (zh) | 视频数据处理方法及装置 | |
| CN116170607A (zh) | 直播连麦中弹幕展示、发送方法及装置 | |
| CN112118484B (zh) | 视频弹幕显示方法、装置、计算机设备及可读存储介质 | |
| CN114095785B (zh) | 视频播放方法、装置及计算机设备 | |
| US20140297720A1 (en) | Client apparatus, server apparatus, multimedia redirection system, and method thereof | |
| CN112019858B (zh) | 一种视频播放方法、装置、计算机设备和存储介质 | |
| EP3522549A1 (en) | Information processing terminal, information processing method, and program |
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 |