CN116233549A - 一种视频页面切换方法及装置 - Google Patents
一种视频页面切换方法及装置 Download PDFInfo
- Publication number
- CN116233549A CN116233549A CN202310165949.6A CN202310165949A CN116233549A CN 116233549 A CN116233549 A CN 116233549A CN 202310165949 A CN202310165949 A CN 202310165949A CN 116233549 A CN116233549 A CN 116233549A
- Authority
- CN
- China
- Prior art keywords
- player
- video
- page
- video page
- view
- 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
- 238000000034 method Methods 0.000 title claims abstract description 124
- 230000008569 process Effects 0.000 claims description 44
- 238000009877 rendering Methods 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012546 transfer Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 abstract description 10
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000000903 blocking effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000009191 jumping Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/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/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
- 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/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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/8173—End-user applications, e.g. Web browser, game
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本公开提供了一种视频页面切换方法及装置,涉及计算机技术领域,特别涉及数据处理技术领域。具体实现方案为:响应于用户发起的第一页面切换请求,确定第一播放器实例包含的播放器内核,并在第一视频页面上方加载待切换的第二视频页面;创建第二视频页面对应的、复用播放器内核的第二播放器实例;运行第二播放器实例,并将第一视频页面的第一播放器视图转移至第二视频页面中,以使得第二播放器实例对播放器内核解码的视频数据进行渲染得到视频画面,并显示在位于第二视频页面中的第一播放器视图中。应用本公开实施例提供的视频页面切换方案,能够提高用户使用应用程序的使用体验。
Description
技术领域
本公开涉及计算机技术领域,特别涉及数据处理技术领域,尤其涉及一种视频页面切换方法及装置。
背景技术
在用户使用应用软件时,用户设备可以显示应用软件提供的如短视频、直播等多种视频页面,并且不同视频页面可以展示同一视频信息。这种情况下,当用户基于一种视频页面展示的视频信息产生页面切换需求时,应用软件可以响应该需求,将视频页面切换为另一种视频页面,并在切换后的视频页面中继续播放同一视频信息。
发明内容
本公开提供了一种视频页面切换方法及装置。
根据本公开的一方面,提供了一种视频页面切换方法,包括:
响应于用户发起的第一页面切换请求,确定第一播放器实例包含的播放器内核,并在当前第一视频页面上方加载待切换的第二视频页面,其中,所述第一播放器实例用于:对所述播放器内核中缓存并解码的第一视频数据进行渲染得到视频画面,所述第一视频数据为:所述第一视频页面待播放的视频数据;
创建所述第二视频页面对应的、复用所述播放器内核的第二播放器实例;
运行所述第二播放器实例,并将所述第一视频页面的第一播放器视图转移至所述第二视频页面中,以使得所述第二播放器实例对所述播放器内核解码的第一视频数据进行渲染得到视频画面,并显示在位于所述第二视频页面中的第一播放器视图中,其中,所述第一播放器视图用于显示播放器实例渲染得到的视频画面。
根据本公开的另一方面,提供了一种视频页面切换方法,包括:
响应于用户发起的第二页面切换请求,在所述用户使用的用户设备显示第三视频页面、且所述第三视频页面下方加载有第四视频页面的情况下,将所述第三视频页面对应的第三播放器实例包含的播放器内核回调至所述第四视频页面对应的第四播放器实例,其中,所述第三视频页面展示的视图中包含第二播放器视图,所述第二播放器视图用于显示所述第三播放器实例对第二视频数据进行渲染得到的视频画面,所述第二视频数据为:所述第三视频页面待播放的、所述播放器内核解码的视频数据;
运行所述第四播放器实例,并将所述第二播放器视图转移至所述第四视频页面中,以使得所述第四播放器实例对所述播放器内核解码的视频数据进行渲染得到视频画面,并显示在位于所述第四视频页面中的第二播放器视图中;
移除转移视图后的第三视频页面。
根据本公开的另一方面,提供了一种视频页面切换装置,包括:
第一响应模块,用于响应于用户发起的第一页面切换请求,确定第一播放器实例包含的播放器内核,并在当前第一视频页面上方加载待切换的第二视频页面,其中,所述第一播放器实例用于:对所述播放器内核中缓存并解码的第一视频数据进行渲染得到视频画面,所述第一视频数据为:所述第一视频页面待播放的视频数据;
第一创建模块,用于创建所述第二视频页面对应的、复用所述播放器内核的第二播放器实例;
第一运行模块,用于运行所述第二播放器实例,并将所述第一视频页面的第一播放器视图转移至所述第二视频页面中,以使得所述第二播放器实例对所述播放器内核解码的第一视频数据进行渲染得到视频画面,并显示在位于所述第二视频页面中的第一播放器视图中,其中,所述第一播放器视图用于显示播放器实例渲染得到的视频画面。
根据本公开的另一方面,提供了一种视频页面切换装置,包括:
第二响应模块,用于响应于用户发起的第二页面切换请求,在所述用户使用的用户设备显示第三视频页面、且所述第三视频页面下方加载有第四视频页面的情况下,将所述第三视频页面对应的第三播放器实例包含的播放器内核回调至所述第四视频页面对应的第四播放器实例,其中,所述第三视频页面展示的视图中包含第二播放器视图,所述第二播放器视图用于显示所述第三播放器实例对第二视频数据进行渲染得到的视频画面,所述第二视频数据为:所述第三视频页面待播放的、所述播放器内核解码的视频数据;
第二运行模块,用于运行所述第四播放器实例,并将所述第二播放器视图转移至所述第四视频页面中,以使得所述第四播放器实例对所述播放器内核解码的视频数据进行渲染得到视频画面,并显示在位于所述第四视频页面中的第二播放器视图中;
页面移除模块,用于移除转移视图后的第三视频页面。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一视频页面切换方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述任一视频页面切换方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述任一视频页面切换方法。
由以上可见,应用本公开实施例提供的方案切换视频页面时,创建了第二视频页面对应的、内核为第一播放器实例包含的播放器内核的第二播放器实例,由于播放器内核用于缓存并解析视频数据,因此,在运行第二播放器实例时,第二播放器实例复用的播放器内核仍然继续缓存并解析第一视频页面待播放的视频数据,从而在第二视频页面中可以继续显示渲染播放器内核解码的视频数据得到的视频画面,这样能够在页面切换过程中避免出现卡顿,从而能够提高用户使用应用程序的使用体验。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1为本公开实施例提供的第一种视频页面切换方法的流程示意图;
图2为本公开实施例提供的第二种视频页面切换方法的流程示意图;
图3a为本公开实施例提供的一种直播页面的结构示意图;
图3b为本公开实施例提供的第三种视频页面切换方法的流程示意图;
图4为本公开实施例提供的第四种视频页面切换方法的流程示意图;
图5a为本公开实施例提供的第五种视频页面切换方法的流程示意图;
图5b为本公开实施例提供的一种直播页面切换方法的流程示意图;
图6为本公开实施例提供的第六种视频页面切换方法的流程示意图;
图7为本公开实施例提供的第七种视频页面切换方法的流程示意图;
图8为本公开实施例提供的第八种视频页面切换方法的流程示意图;
图9为本公开实施例提供的第一种视频页面切换装置的结构示意图;
图10为本公开实施例提供的第二种视频页面切换装置的结构示意图;
图11是用来实现本公开实施例的视频页面切换方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在用户设备展示应用程序提供的视频页面时,需要创建该视频页面对应的播放器实例,并将该视频页面待播放的视频数据缓存至所创建的播放器实例包含的播放器内核中,由播放器内核对视频数据进行解码,从而使得该视频页面展示播放器实例渲染播放器内核解码的视频数据得到的视频画面。
现有技术中,应用程序提供的不同视频页面对应不同播放器实例,这些播放器实例中包含的播放器内核为不同的播放器内核,在切换应用程序提供的视频页面时,需要停止运行当前视频页面的播放器实例,并开始运行待切换的视频页面对应的播放器实例,这样在页面切换过程中,待切换视频页面所对应播放器实例的播放器内核需要重新缓存视频数据并解码,从而使得页面切换过程出现卡顿问题,降低了用户使用应用程序的使用体验。
为解决上述技术问题,本公开实施例提供了一种视频页面切换方法及装置,下面通过具体实施例进行详细说明。
参见图1,图1为本公开实施例提供的第一种视频页面切换方法的流程示意图,本实施例中,上述方法包括以下步骤S101-步骤S103。
步骤S101:响应于用户发起的第一页面切换请求,确定第一播放器实例包含的播放器内核,并在当前第一视频页面上方加载待切换的第二视频页面。
其中,第一播放器实例用于:对播放器内核中缓存并解码的第一视频数据进行渲染得到视频画面。
第一视频数据为:第一视频页面待播放的视频数据。
用户设备在显示第一视频页面时,第一播放器实例中的播放器内核可以缓存第一视频页面待播放的视频数据,并对所缓存的视频数据进行解码,这样第一播放器实例中的渲染模块可以对解码出的视频数据进行渲染,获得渲染后的视频画面,并在第一视频页面中显示渲染出的视频画面。
上述第一视频页面和第二视频页面为两种不同的视频页面,且这两种页面可以播放同一视频信息。
例如,上述第一视频页面可以是短视频页面,上述第二视频页面可以是直播页面,短视频页面中可以播放直播间的直播画面;上述第二视频页面还可以是在线视频播放页面,短视频页面中可以播放在线视频的视频片段。
上述第一视频页面和第二视频页面还可以是其他视频页面,本公开实施例对此并不限定。
具体的,响应于用户发起的第一页面切换请求,可以确定当前正在运行的、第一视频页面对应的第一播放器实例,从而在第一播放器实例中确定所包含的播放器内核。
另外,在响应用户发起的页面切换请求之前,可以预先确定当前第一视频页面对应的第一播放器实例,进而确定第一播放器实例包含的播放器内核,从而确定第一视频页面与播放器内核之间的对应关系,这样在响应上述第一页面切换请求时,可以根据该对应关系,确定与第一视频页面对应的播放器内核。
在用户设备展示第一视频页面时,第一视频页面中播放的视频可以是支持在另一视频页面中播放的视频,并且应用程序可以确定该另一视频页面的页面类型,因此,在响应第一页面切换请求时,应用程序可以确定待切换的第二视频页面的页面类型,从而可以利用现有的页面加载技术,将所确定页面类型的第二视频页面加载在第一视频页面上方,以使得用户设备可以优先显示第二视频页面展示的信息。
步骤S102:创建第二视频页面对应的、复用播放器内核的第二播放器实例。
具体的,播放器实例可以理解为调用应用程序中存储的播放器方法将视频数据转换为视频画面的代码,播放器内核可以理解为播放器方法中用于缓存并解码视频数据的方法代码。在创建第二播放器实例时,第一播放器实例正在运行,并且第一播放器实例包含的播放器内核正在缓存并解码上述第一视频数据,此时,可以将第一播放器实例对应的代码中包含有缓存的第一视频数据的播放器内核的方法代码添加至第二播放器实例对应的代码中,以创建第二播放器实例,从而实现第二播放器实例复用第一播放器实例的播放器内核。
步骤S103:运行第二播放器实例,并将第一视频页面的第一播放器视图转移至第二视频页面中,以使得第二播放器实例对播放器内核解码的第一视频数据进行渲染得到视频画面,并显示在位于第二视频页面中的第一播放器视图中。
其中,第一播放器视图用于显示播放器实例渲染得到的视频画面。
具体的,在切换页面之前,第一视频页面展示的视图中包含第一播放器视图,第一播放器视图用于显示第一播放器实例对第一视频数据进行渲染得到的视频画面。
第二播放器实例创建完成后,可以暂停运行第一播放器实例,开始运行第二播放器实例。由于第二播放器实例的内核为第一播放器实例中的播放器内核,因此,在第一播放器实例停运、第二播放器起运的过程中,该播放器内核始终处于工作状态,即该播放器内核始终在解码所缓存的视频数据,而渲染播放器内核使用的播放器实例由第一播放器实例变为第二播放器实例,这样将第一播放器视图转移至第二视频页面后,能够在第二视频页面中展示第一播放器视图,且第一播放器视图所展示的视频画面仍然是渲染播放器内核解码的视频数据得到的视频画面。
在转移第一播放器视图时,可以利用现有的视图转移技术将第一播放器视图转移至第二视频页面中,这里不再详述。
另外,在第二视频页面中包含的第一播放器视图开始显示视频画面时,可以记录首帧视频画面的显示时刻、首帧视频画面在视频数据中的位置等等信息。
由以上可见,应用本公开实施例提供的方案切换视频页面时,创建了第二视频页面对应的、内核为第一播放器实例包含的播放器内核的第二播放器实例,由于播放器内核用于缓存并解析视频数据,因此,在运行第二播放器实例时,第二播放器实例复用的播放器内核仍然继续缓存并解析第一视频页面待播放的视频数据,从而在第二视频页面中可以继续显示渲染播放器内核解码的视频数据得到的视频画面,这样能够在页面切换过程中避免出现卡顿,从而能够优化两种视频页面之间的页面切换过程,提高用户使用应用程序的使用体验。
本公开的一个实施例中,上述第二视频页面为直播页面,上述播放器内核解码的视频数据为直播数据。
由于直播视频数据通常具有实时性,而应用本公开实施例提供的视频页面切换方案能够避免页面切换过程中的卡顿问题,因此,在上述第二视频页面为直播页面的情况下应用本公开实施例提供的视频页面切换方案,能够保证在页面切换过程中直播画面不中断、不卡顿,从而为用户实时、持续展示直播内容,这样能够提高用户观看直播的直播观看体验。
本公开的一个实施例中,可以在第一视频页面上方加载透明页面背景的第二视频页面。这种情况下,当第二视频页面还没有显示任何画面时,由于第二视频页面的页面背景为透明的,这样用户设备中可以显示位于第二视频页面下方的第一视频页面。
本方案中,第二视频页面的页面背景为透明的,这样在将第二视频页面加载在第一视频页面上方时,在第二视频页面还未显示任何画面时,用户设备中可以继续显示第一视频页面,从而能够避免在加载第二视频页面后用户设备出现黑屏问题。
另外,应用程序中还可以配置有非透明页面背景的第二视频页面,这样在加载第二视频页面时,可以判断应用程序是否满足加载透明页面背景的第二视频页面的加载条件,若满足,则加载透明页面背景的第二视频页面,否则加载非透明页面背景的第二视频页面。
本公开的一个实施例中,上述加载条件可以是以下条件:
第二视频页面所需插件为最新版本;
应用程序的整体功能云控开关为打开状态;
第一播放器实例的播放器内核标识的赋值不为空。
应用程序在切换页面时,需要生成指示应用程序内部页面进行切换的页面切换指令,从而基于所生成的页面切换指令实现不同页面之间的页面切换。
基于上述情况,本公开的一个实施例中,参见图2,提供了第二种视频页面切换方法的流程示意图,本实施例中,上述方法包括以下步骤S201-步骤S204。
步骤S201:响应于用户发起的第一页面切换请求,确定第一播放器实例包含的播放器内核,获得播放器内核的内核标识;生成携带有内核标识的页面切换指令;根据页面切换指令,在当前第一视频页面上方加载待切换的第二视频页面。
本公开的一个实施例中,上述页面切换指令可以是基于scheme协议生成的切换指令。
具体的,在确定第一播放器实例包含的播放器内核后,可以获得所确定播放器内核的内核标识,这样在生成页面切换指令时,可以生成携带有内核标识的页面切换指令,根据页面切换指令,利用现有的页面加载技术,在第一视频上方加载第二视频页面。
步骤S202:读取页面切换指令中携带的内核标识。
具体的,应用程序内部生成页面切换指令后,可以利用现有的指令读取技术,读取出页面切换指令中携带的内核标识,这里不再详述。
另外,若用户设备中应用程序与服务器之间存在进行不同数据传输的多种路由,则在生成上述页面切换指令后,可以确定页面切换指令指示的待切换的视频页面,从而可以确定该视频页面对应的路由,进而在后续视频页面展示时,由该路由传输视频数据。
步骤S203:根据读取到的内核标识,复用播放器内核作为第二播放器实例的内核,创建第二视频页面对应的第二播放器实例。
具体的,根据读取到的内核标识,可以确定第一播放器实例包含的播放器内核,在创建第二播放器实例时,将第一播放器实例包含的播放器内核作为待创建的播放器实例的内核,以此来创建第二播放器实例。
确定第一播放器实例包含的播放器内核后,创建第二播放器实例的具体实现方式可参见上述图1所示实施例中步骤S102,这里不再赘述。
步骤S204:运行第二播放器实例,并将第一视频页面的第一播放器视图转移至第二视频页面中,以使得第二播放器实例对播放器内核解码的第一视频数据进行渲染得到视频画面,并显示在位于第二视频页面中的第一播放器视图中。
本步骤与上述步骤S103相同,这里不再赘述。
由以上可见,应用本公开实施例提供的方案切换视频页面时,将第一播放器实例包含的播放器内核的内核标识携带在页面切换指令中,这样在创建第二播放器实例时,读取页面切换指令中携带的内核标识,基于该内核标识,可以准确创建内核为播放器内核的第二播放器实例,从而运行较为准确的第二播放器实例,能够保证应用程序正常切换视频页面。因此,应用本公开实施例提供的视频页面切换方案,能够提高视频页面切换的稳定性、可靠性。
本公开的一个实施例中,在读取页面切换指令中携带的内核标识之前,可以检测上述播放器内核是否正常工作,还可以检测第二视频页面所需的视频组件是否加载完成,以保证后续处理能够正常进行。若检测到上述播放器内核工作异常,则说明用户设备难以正常展示第一视频页面,此时,可以对播放器内核进行初始化;若检测到第二视频页面所需的视频组件未加载完成,则说明应用程序中可能未下载该视频组件,或者该视频组件未加载完成,此时,可以检测应用程序中是否存在该视频组件,若未存在,则说明用户设备以往未展示过第二视频页面,这种情况下,可以从应用程序的后台服务器中下载视频组件;若存在,则可以重新加载该视频组件。
应用程序提供的视频页面通常由多个容器层组成,每一容器层中可以放置视图元素,在应用设备中显示视频页面时,可以显示由视频页面中的各个容器层包含的视图元素构成的页面。例如,参见图3a,图3a为直播页面的容器层分布,直播页面包含MixShellActivity背景容器层、高斯模糊背景容器层、30%透明度遮罩容器层、直播间背景容器层、播放器容器层、业务组件容器层以及一级插件IM组件容器层等多个容器层,播放器容器层中可以放置播放器实例渲染得到的播放器视图,也可以放置图片。
应用程序在加载视频页面时可以根据预先人为设置的规则加载视频页面的多个容器层,从而实现部分容器层显示、部分容器层隐藏。
本公开的一个实施例中,参见图3b,提供了第三种视频页面切换方法的流程示意图,本实施例中,上述方法包括以下步骤S301-步骤S304。
步骤S301:响应于用户发起的第一页面切换请求,确定第一播放器实例包含的播放器内核,在当前第一视频页面上方加载待切换的部分显示状态的第二视频页面。
其中,部分显示状态的第二视频页面中播放器容器层为显示状态、其他容器层为隐藏状态。
播放器容器层用于放置第一播放器视图。
具体的,可以通过以下两种实现方式中任一种加载部分显示状态的第二视频页面。
第一种实现方式中,应用程序在加载待切换的部分显示状态的第二视频页面时,可以首先加载第二视频页面的各个容器层,然后对除播放器容器层外的其他容器层进行隐藏操作,从而实现加载部分显示状态的第二视频页面。
另外,对其他容器层进行隐藏操作可以在加载各个容器层后的较短时间内完成,这样在用户设备中第二视频页面的显示效果可以近似看做是仅显示播放器容器层、且隐藏其他容器层。
第二种实现方式中,可以预先设置第二视频页面中播放器容器层的初始状态为显示状态,设置其他容器层的初始状态为隐藏状态,这样在加载第二视频页面时,即可加载显示状态下的播放器容器层以及隐藏状态下的其他容器层。
步骤S302:创建第二视频页面对应的、复用播放器内核的第二播放器实例。
步骤S303:运行第二播放器实例,并将第一视频页面的第一播放器视图转移至第二视频页面中,以使得第二播放器实例对播放器内核解码的第一视频数据进行渲染得到视频画面,并显示在位于第二视频页面中的第一播放器视图中。
上述步骤S302与上述步骤S102相同,上述步骤S303与上述步骤S103相同,这里不再赘述。
步骤S304:显示第二视频页面中处于隐藏状态的其他容器层。
具体的,在显示其他容器层时,可以直接将其他容器层的状态更改为显示状态,从而显示其他容器层。另外,还可以预先设置显示其他容器层的显示动画,从而按照所设置的显示动画显示其他容器层。
例如,可以预先设置显示动画为渐显动画,这样在显示其他容器层时,以渐显方式慢慢显示其他容器层。
上述显示动画还可以是平移动画、缩放动画等等,本公开实施例对此并不限定。
由以上可见,应用本公开实施例提供的方案切换视频页面时,在响应于第一页面切换请求后,首先在第一视频页面上方加载部分显示状态的第二视频页面,在视频画面显示在位于第二视频页面中的第一播放器视图中后,再显示第二视频页面中处于隐藏状态的其他容器层,这样逐步显示第二视频页面的各个容器层,能够避免用户产生跳跃感,提高视频页面切换的平顺性,从而提高用户的观看体验。
在将第一播放器视图转移至第二视频页面中时,需要先将第一播放器视图从第一视频页面中移除,再添加至第二视频页面中,这样在视图移除且未添加至第二视频页面时,用户设备中难以显示第一播放器视图中展示的视频画面,从而导致在这一过程中用户设备出现黑屏。
为解决上述问题,本公开的一个实施例中,参见图4,提供了第四种视频页面切换方法的流程示意图,本实施例中,上述方法包括以下步骤S401-步骤S405。
步骤S401:响应于用户发起的第一页面切换请求,确定第一播放器实例包含的播放器内核,并在当前第一视频页面上方加载待切换的第二视频页面。
步骤S402:创建第二视频页面对应的、复用播放器内核的第二播放器实例。
上述步骤S401与上述步骤S101相同,上述步骤S402与上述步骤S102相同,这里不再赘述。
步骤S403:获得第一播放器视图当前显示的第一画面截图。
具体的,可以通过以下两种实现方式中任一种获得上述第一画面截图。
第一种实现方式中,由于第一播放器视图用于显示第一播放器实例渲染视频数据得到的视频画面,因此,在获得上述第一画面截图时,可以获得第一播放器实例当前渲染出的视频画面,作为上述第一画面截图。
第二种实现方式中,在上述第二视频页面为透明页面背景的视频页面的情况下,可以截取用户设备当前显示的第一视频页面的页面截图,作为上述第一画面截图。
步骤S404:将第一画面截图放置于第二视频页面的播放器容器层中。
由于第二视频页面位于第一视频页面上方,因此,将第一画面截图放置于第二视频页面的播放器容器层后,第一画面截图可以覆盖第一视频页面,这样用户设备上显示的画面即为该第一画面截图。
步骤S405:运行第二播放器实例,并将第一视频页面的第一播放器视图转移至第二视频页面的播放器容器层,以使得第二播放器实例对播放器内核解码的第一视频数据进行渲染得到视频画面,并显示在位于第二视频页面中的第一播放器视图中。
其中,第一播放器视图位于第一画面截图上方。
具体的,当将第一播放器视图转移至第二视频页面的播放器容器层后,该播放器容器层中包含两种视图元素,即上述第一画面截图以及第一播放器视图。而在该播放器容器层中,第一播放器视图位于第一画面截图上方,可以理解为第一播放器视图覆盖了第一画面截图,这样用户设备中显示的画面为第一播放器视图。
本公开的一个实施例中,在转移上述第一播放器视图的过程中,第一播放器视图可以位于第一画面截图下方,这样在视图转移完成之后,可以移除第一画面截图。在第一播放器视图位于第一画面截图下方时,用户设备中可以继续显示第一画面截图,此时移除第一画面截图,则第二视频页面的播放器容器层中仅包含第一播放器视图,用户设备中也就能够显示该第一播放器视图展示的视频画面。
由以上可见,应用本公开实施例提供的方案切换视频页面时,在视图转移前将第一画面截图放置于第二视频页面的播放器容器层中,这样在第一播放器视图从第一视频页面中移除、且未添加至第二视频页面时,用户设备可以显示该第一画面截图,这样也就消除了黑屏问题。
应用程序提供的不同视频页面的显示位置和尺寸可能不同。鉴于此,本公开的一个实施例中,参见图5a,提供了第五种视频页面切换方法的流程示意图,本实施例中,上述方法包括以下步骤S501-步骤S506。
步骤S501:响应于用户发起的第一页面切换请求,确定第一播放器实例包含的播放器内核,并在当前第一视频页面上方加载待切换的第二视频页面。
步骤S502:创建第二视频页面对应的、复用播放器内核的第二播放器实例。
步骤S503:获得第一播放器视图当前显示的第一画面截图。
步骤S504:将第一画面截图放置于第二视频页面的播放器容器层中。
上述步骤S501-步骤S504分别与上述步骤S401-步骤S404相同,这里不再赘述。
步骤S505:若第一显示区域与第二显示区域不一致,则将第二显示区域的位置调整为第一显示区域的位置,并将第二显示区域的尺寸调整为第一显示区域的尺寸。
其中,第一显示区域为第一视频页面的播放器容器层在用户设备中的显示区域。
第二显示区域为第二视频页面的播放器容器层在用户设备中的显示区域。
转移前的第一播放器视图放置于第一视频页面的播放器容器层。
具体的,用户设备在展示第一视频页面时,应用程序可以确定第一视频页面中播放器容器层的第一显示区域。应用程序在响应第一页面切换请求时,可以确定待加载的第二视频页面,从而确定第二视频页面的播放器容器层在用户设备中的第二显示区域。这样在确定第一显示区域和第二显示区域后,若第一显示区域与第二显示区域不一致,即第一显示区域与第二显示区域的位置和/或尺寸不一致,则将第二显示区域的位置调整为第一显示区域的位置,并将第二显示区域的尺寸调整为第一显示区域的尺寸。
调整第二显示区域的位置和尺寸可以利用现有的容器层调整技术实现,这里不再详述。
步骤S506:运行第二播放器实例,并按照预设的第一还原速度,对第二显示区域的位置和尺寸进行还原,并在还原过程中,将第一视频页面的第一播放器视图转移至播放器容器层。
其中,上述第一还原速度可以是人为预先设置的。
在对第二显示区域进行还原之前,第二显示区域的位置和尺寸为第一显示区域的位置和尺寸,并且由于上述步骤S504将第一画面截图放置于第二视频页面的播放器容器层中,因此,第二显示区域所显示的是第一画面截图。在此基础上对第二显示区域的位置和尺寸进行还原的过程中,当第一播放器视图还未添加至第二视频页面的播放器容器层时,第二显示区域显示第一画面截图,当第一播放器视图添加至第二视频页面的播放器容器层时,第二显示区域显示第一播放器视图中的视频画面。
将第一播放器视图转移至播放器容器层的实现方式可参见上述步骤S103,这里不再赘述。
由以上可见,应用本公开实施例提供的方案切换视频页面时,在第一显示区域与第二显示区域不一致的情况下,通过将第二显示区域的位置和尺寸调整为第一显示区域的位置和尺寸,并在第二显示区域的位置和尺寸的还原过程中转移第一播放器视图,这样在用户设备中展示的页面切换过程为视频画面的位置和尺寸渐变、且视频内容不变的过程,实现了视频页面平滑切换。因此,应用本公开实施例提供的视频页面切换方案,能够平滑切换视频页面,提高用户的观看体验。
本公开的一个实施例中,参见图5b,提供了一种直播页面切换方法的流程示意图,本实施例中,上述第一视频页面为短视频页面,上述第二视频页面为直播页面。
图5b中,用户可以通过点击短视频页面的方式发起页面切换请求,应用程序响应于该请求,生成页面切换指令,获得服务器由直播路由分发的直播流,并检测短视频页面对应的播放器实例包含的播放器内核是否正常工作,若为否,则初始化该播放器内核,若为是,则继续检测直播页面的直播一级插件是否加载完成,若为否,则重新加载直播一级插件,若为是,则解析页面切换指令,开始切换页面。
在切换页面时,判断应用程序是否满足预设的加载条件,若满足,则加载透明页面背景的直播页面,若不满足,则加载非透明页面背景的直播页面,加载直播页面后,隐藏直播页面中除播放器容器层外的其他容器层,读取页面切换指令中携带的内核标记,复用播放器内核,创建直播页面对应的播放器实例,在判断出播放器内核复用成功后,获得短视频页面中包含的播放器视图的画面截图,将画面截图放置于直播页面的播放器容器层,并将上述播放器视图从短视频页面转移至直播页面,在视图转移之后,检测用户设备显示的直播页面是否起播,若为是,则生成首帧通知,以助于记录直播页面的直播时长、时间段等直播信息,若为否,则等待直播页面起播,直至获得首帧通知。在获得首帧通知后,移除直播页面的播放器容器层中的画面截图,并恢复显示隐藏的容器层。
应用上述公开实施例提供的方案进行视频页面切换时,实质上是在第一视频页面上方覆盖第二视频页面,并将原本在第一视频页面中显示的播放器视图转移至第二视频页面,从而完成页面切换。与上述公开实施例提供描述的页面切换过程相反的,本公开实施例还提供了另一种视频页面切换方法。
本公开的一个实施例中,参见图6,提供了第六种视频页面切换方法的流程示意图,本公开实施例中,上述方法包括以下步骤S601-步骤S603。
步骤S601:响应于用户发起的第二页面切换请求,在用户使用的用户设备显示第三视频页面、且第三视频页面下方加载有第四视频页面的情况下,将第三视频页面对应的第三播放器实例包含的播放器内核回调至第四视频页面对应的第四播放器实例。
其中,第三视频页面展示的视图中包含第二播放器视图,第二播放器视图用于显示第三播放器实例对第二视频数据进行渲染得到的视频画面,第二视频数据为:第三视频页面待播放的、播放器内核解码的视频数据。
上述第三视频页面和第四视频页面两种不同的视频页面,且这两种页面可以播放同一视频信息。
例如,上述第三视频页面可以是直播页面,上述第四视频页面可以是短视频页面,短视频页面中可以播放直播间的直播画面;上述第三视频页面还可以是在线视频播放页面,短视频页面中可以播放在线视频的视频片段。
上述第三视频页面和第四视频页面还可以是其他视频页面,本公开实施例对此并不限定。
具体的,用户设备显示第三视频页面、且第三视频页面下方加载有第四视频页面时,说明第三视频页面和第四视频页面均已被加载,但由于第三视频页面位于第四视频页面上方,第四视频页面被第三视频页面,这样在用户设备中显示的是第三视频页面。鉴于此,应用程序在加载第三视频页面和第四视频页面时,已经创建了第三视频页面对应的第三播放器实例和第四视频页面对应的第四播放器实例,因此,在响应用户发起的第二页面切换请求时,可以确定用第三视频页面对应的第三播放器实例,从而确定第三播放器实例包含的播放器内核,并将所确定的播放器内核添加至第四视频页面对应的第四播放器实例中。
步骤S602:运行第四播放器实例,并将第二播放器视图转移至第四视频页面中,以使得第四播放器实例对播放器内核解码的视频数据进行渲染得到视频画面,并显示在位于第四视频页面中的第二播放器视图中。
本步骤与上述图1所示实施例中步骤S103相类似,这里不再赘述。
步骤S603:移除转移视图后的第三视频页面。
具体的,第三视频页面位于第四视频页面上方,移除第三视频页面后,用户设备可以显示第四视频页面。由于在移除页面前已将第二播放器视图转移至第四视频页面中,因此,在移除第三视频页面、用户设备显示第四视频页面时,用户设备还可以显示第二播放器视图中播放的视频画面。
由以上可见,应用本公开实施例提供的方案切换视频页面时,在用户设备显示第三视频页面、且第三视频页面下方加载有第四视频页面的情况下,第三视频页面对应的第三播放器实例为运行状态,此时第三播放器实例包含的播放器内核可以缓存并解码第三视频页面待播放的视频数据,在将第三播放器实例包含的播放器内核回调给第四播放器实例后,运行第四播放器实例,第四播放器实例包含的播放器内核仍然继续缓存并解析待播放的视频数据,通过第三播放器实例和第四播放器实例复用同一播放器内核,能够避免在运行第四播放器实例时,第四播放器实例包含的播放器内核重新缓存视频数据并解码,这样也就能够避免在页面切换过程中由于重新缓存视频数据导致的卡顿问题,从而能够优化两种视频页面之间的页面切换过程,提高用户使用应用程序的使用体验。
本公开的一个实施例中,第三视频页面为直播页面,播放器内核解码的视频数据为直播数据。
由于直播视频数据通常具有实时性,而应用本公开实施例提供的视频页面切换方案能够避免页面切换过程中的卡顿问题,因此,在上述第三视频页面为直播页面的情况下应用本公开实施例提供的视频页面切换方案,能够使得保证在页面切换过程中直播画面不中断、不卡顿,从而为用户实时、持续展示直播内容,这样能够提高用户观看直播的直播观看体验。
本公开的一个实施例中,还可以实时记录应用程序进行页面切换所消耗的切换时长,若切换时长达到预设时长阈值时应用程序仍未完成页面切换,则直接移除应用程序当前加载的第三视频页面和第四视频页面,并重新创建新的第四视频页面以及第四视频页面对应的第五播放器实例,运行所创建的第五播放器实例,第五播放器实例包含的播放器内核重新缓存视频数据,并解码所缓存的视频数据,从而在新创建的第四视频页面中展示第五播放器实例渲染解码的视频数据得到的视频画面。
例如,上述预设时长阈值可以是人为设置的时长,如200毫秒、250毫秒等。
在将第二播放器视图转移至第四视频页面中时,需要先将第二播放器视图从第三视频页面中移除,再添加至第四视频页面中,这样在视图移除且未添加至第四视频页面时,第三视频页面中不包含第二播放器视图,因此用户设备中难以显示第二播放器视图中展示的视频画面,从而导致在这一过程中用户设备出现黑屏。
为解决上述问题,本公开的一个实施例中,在将第二播放器视图转移至第四视频页面中之前,获得第二播放器视图当前显示的第二画面截图;将第二画面截图放置于第三视频页面的第一播放器容器层。
其中,第一播放器容器层为第二播放器视图所在容器层。
具体的,可以通过以下两种实现方式中任一种获得上述第二画面截图。
第一种实现方式中,由于第二播放器视图用于显示第三播放器实例渲染视频数据得到的视频画面,因此,在获得上述第二画面截图时,可以获得第三播放器实例当前渲染出的视频画面,作为上述第二画面截图。
第二种实现方式中,可以直接截取用户设备当前显示的第三视频页面的页面截图,作为上述第二画面截图。
在获得上述第二画面截图后,将第二画面截图放置于第一播放器容器层,这样能够在将第二播放器视图转移至第四视频页面中后,用户设备还可以显示第一播放器容器层内的第二画面截图。移除转移视图后的第三视频页面时移除了第三视频页面的所有容器层,这样也就直接移除了第一播放器容器层中的第二画面截图,从而在用户设备中可以显示第四视频页面中的第二播放器视图播放的视频画面。
由以上可见,应用本公开实施例提供的方案切换视频页面时,在视图转移前将第二画面截图放置于第三视频页面的第一播放器容器层中,这样在第二播放器视图从第三视频页面中移除、且未添加至第四视频页面时,用户设备可以显示该第二画面截图,这样也就消除了黑屏问题。
本公开的另一实施例中,在将第二播放器视图转移至第四视频页面中之前,还可以获得第二播放器视图当前显示的第二画面截图;在第三视频页面为透明背景的视频页面的情况下,将第二画面截图放置于第四视频页面的第二播放器容器层;并在将第二播放器视图转移至第四视频页面中时,将第二播放器视图转移至第二播放器容器层。
其中,第二播放器视图位于第二画面截图上方。
获得第二画面截图的实现方式以及将第二画面截图放置在第二播放器容器层的实现方式可参见上述实施例,这里不再赘述。
在第三视频页面为透明页面背景的视频页面的情况下,在将第二播放器实例从第三视频页面中移除时,用户设备中可以显示位于第三视频页面下方的第四视频页面,且由于第二播放器容器层中放置有第二画面截图,因此,用户设备在显示第四视频页面时可以显示该第二画面截图,这样也就消除了第二播放器视图转移过程中出现的黑屏问题。
应用程序提供的不同视频页面的显示位置和尺寸可能不同。鉴于此,本公开的一个实施例中,参见图7,提供了第七种视频页面切换方法的流程示意图,本实施例中,上述方法包括以下步骤S701-步骤S704。
步骤S701:响应于用户发起的第二页面切换请求,在用户使用的用户设备显示第三视频页面、且第三视频页面下方加载有第四视频页面的情况下,将第三视频页面对应的第三播放器实例包含的播放器内核回调至第四视频页面对应的第四播放器实例。
本步骤与上述步骤S601相同,这里不再赘述。
步骤S702:若第三显示区域与第四显示区域不一致,则将第四显示区域的位置调整为第三显示区域的位置,并将第四显示区域的尺寸调整为第三显示区域的尺寸,其中,第三显示区域为第三视频页面的第一播放器容器层在用户设备中的显示区域,第四显示区域为第四视频页面的第二播放器容器层在用户设备中的显示区域,转移前的第二播放器视图放置于第一播放器容器层。
步骤S703:运行第四播放器实例,按照预设的第二还原速度,对第四显示区域的位置和尺寸进行还原,并在还原过程中将第二播放器视图转移至第二播放器容器层。
上述步骤S702、步骤S703分别与上述图5a所示实施例中步骤S505、步骤S506相类似,这里不再赘述。
步骤S704:移除转移视图后的第三视频页面。
本步骤与上述步骤S603相同,这里不再赘述。
由以上可见,应用本公开实施例提供的方案切换视频页面时,在第三显示区域与第四显示区域不一致的情况下,通过将第四显示区域的位置和尺寸调整为第三显示区域的位置和尺寸,并在第四显示区域的位置和尺寸的还原过程中转移第二播放器视图,这样在用户设备中展示的页面切换过程为视频画面的位置和尺寸渐变、且视频内容不变的过程,实现了视频页面平滑切换。因此,应用本公开实施例提供的视频页面切换方案,能够平滑切换视频页面,提高用户的观看体验。
本公开的一个实施例中,在运行第四播放器实例,并将第二播放器视图转移至第四视频页面中之前,还可以隐藏第三视频页面中除第一播放器容器层外的其他容器层。
其中,第一播放器容器层为第二播放器视图所在容器层。
隐藏除第一播放器容器层外的其他容器层可以通过现有的容器层处理技术实现,这里不再详述。
在隐藏除第一播放器容器层外的其他容器层时,还可以预先设置隐藏动画,从而在隐藏其他容器层时,可以按照所设置的隐藏动画隐藏其他容器层。
例如,可以预先设置隐藏动画为渐隐动画,这样在隐藏其他容器层时,以渐隐方式慢慢隐藏其他容器层。
上述隐藏动画还可以是平移动画、缩放动画等等,本公开实施例对此并不限定。
另外,在对其他容器层进行隐藏操作之前,还可以禁用第三视频页面与用户之间的交互操作,例如,上述交互操作可以包括点击、上下滑动等交互操作。
由以上可见,应用本公开实施例提供的方案切换视频页面时,在将第二播放器视图转移至第四视频页面中之前,隐藏第三视频页面中除第一播放器容器层外的其他容器层,并在第二播放器视图转移至第四视频页面中之后,移除转移视图后的第三视频页面,这样逐步移除第三视频页面的各个容器层,能够避免用户产生跳跃感,提高视频页面切换的平顺性,从而提高用户的观看体验。
本公开的一个实施例中,参见图8,提供了第八种视频页面切换方法的流程示意图,本实施例中,在获得用户发起的第二页面切换请求后,响应于该请求,调用页面终结finish方法,并判断是否需要平滑切换视频页面,例如,判断应用程序是否满足预设的平滑切换条件或者用户是否指示平滑切换页面。若不需要平滑切换视频页面,则可以利用页面终结finish方法,直接终止第三视频页面运行;若需要平滑切换视频页面,可以禁用第三视频页面与用户之间的交互操作,隐藏第三视频页面中除播放器容器层外的其他容器层,在该其他容器层均已隐藏后,判断是否可以获得第三视频页面当前显示的视频画面的画面截图,若不能获取该画面截图,则可以利用页面终结finish方法,直接终止第三视频页面运行;若能够获取该画面截图,则可以将该画面截图放置于第三视频页面的第一播放器容器层,或在第三视频页面的背景为透明页面背景的情况下,将该画面截图放置于第四视频页面的第二播放器容器层,在放置画面截图时,还可以将第三视频页面对应的第三播放器实例包含的播放器内核回调至第四视频页面对应的第四播放器实例,运行第四播放器实例,并将第二播放器视图转移至第四视频页面中,最后利用页面终结finish方法终止第三视频页面运行。
另外,可以实时记录应用程序进行视频页面切换的切换时长,若切换时长到达预设时长阈值时未完成视频页面切换,则可以利用页面终结方法,直接终止第三视频页面运行。
与上述视频页面切换方法相对应,本公开实施例还提供了一种视频页面切换装置。
本公开的一个实施例中,参见图9,提供了第一种视频页面切换装置的结构示意图,本实施例中,上述装置包括:
第一响应模块901,用于响应于用户发起的第一页面切换请求,确定第一播放器实例包含的播放器内核,并在当前第一视频页面上方加载待切换的第二视频页面,其中,所述第一播放器实例用于:对所述播放器内核中缓存并解码的第一视频数据进行渲染得到视频画面,所述第一视频数据为:所述第一视频页面待播放的视频数据;
第一创建模块902,用于创建所述第二视频页面对应的、复用所述播放器内核的第二播放器实例;
第一运行模块903,用于运行所述第二播放器实例,并将所述第一视频页面的第一播放器视图转移至所述第二视频页面中,以使得所述第二播放器实例对所述播放器内核解码的第一视频数据进行渲染得到视频画面,并显示在位于所述第二视频页面中的第一播放器视图中,其中,所述第一播放器视图用于显示播放器实例渲染得到的视频画面。
由以上可见,应用本公开实施例提供的方案切换视频页面时,创建了第二视频页面对应的、内核为第一播放器实例包含的播放器内核的第二播放器实例,由于播放器内核用于缓存并解析视频数据,因此,在运行第二播放器实例时,第二播放器实例复用的播放器内核仍然继续缓存并解析第一视频页面待播放的视频数据,从而在第二视频页面中可以继续显示渲染播放器内核解码的视频数据得到的视频画面,这样能够在页面切换过程中避免出现卡顿,从而能够提高用户使用应用程序的使用体验。
本公开的一个实施例中,所述第一响应模块901,具体用于:
获得所述播放器内核的内核标识;
生成携带有所述内核标识的页面切换指令;
根据所述页面切换指令,在当前第一视频页面上方加载待切换的第二视频页面;
所述第一创建模块902,具体用于:
读取所述页面切换指令中携带的所述内核标识;
根据读取到的内核标识,复用所述播放器内核作为第二播放器实例的内核,创建所述第二视频页面对应的第二播放器实例。
由以上可见,应用本公开实施例提供的方案切换视频页面时,将第一播放器实例包含的播放器内核的内核标识携带在页面切换指令中,这样在创建第二播放器实例时,读取页面切换指令中携带的内核标识,基于该内核标识,可以准确创建内核为播放器内核的第二播放器实例,从而运行较为准确的第二播放器实例,能够保证应用程序正常切换视频页面。因此,应用本公开实施例提供的视频页面切换方案,能够提高视频页面切换的稳定性、可靠性。
本公开的一个实施例中,所述第一响应模块901,具体用于:
在当前第一视频页面上方加载待切换的透明页面背景的第二视频页面。
本方案中,第二视频页面的页面背景为透明的,这样在将第二视频页面加载在第一视频页面上方时,在第二视频页面还未显示任何画面时,用户设备中可以继续显示第一视频页面,从而能够避免在加载第二视频页面后用户设备出现黑屏问题。
本公开的一个实施例中,所述第一响应模块901,具体用于:
在当前第一视频页面上方加载待切换的部分显示状态的第二视频页面,其中,所述部分显示状态的第二视频页面中播放器容器层为显示状态、其他容器层为隐藏状态,所述播放器容器层用于放置所述第一播放器视图;
所述装置还包括:
容器层显示模块,用于在所述将所述第一视频页面的第一播放器视图转移至所述第二视频页面中之后,显示所述第二视频页面中处于隐藏状态的其他容器层。
由以上可见,应用本公开实施例提供的方案切换视频页面时,在响应于第一页面切换请求后,首先在第一视频页面上方加载部分显示状态的第二视频页面,在视频画面显示在位于第二视频页面中的第一播放器视图中后,再显示第二视频页面中处于隐藏状态的其他容器层,这样逐步显示第二视频页面的各个容器层,能够避免用户产生跳跃感,提高视频页面切换的平顺性,从而提高用户的观看体验。
本公开的一个实施例中,所述装置还包括:
第一获得模块,用于在所述将所述第一播放器视图转移至所述第二视频页面中之前,获得所述第一播放器视图当前显示的第一画面截图;
第一放置模块,用于将所述第一画面截图放置于所述第二视频页面的播放器容器层中;
所述第一响应模块901,具体用于:
将所述第一视频页面的第一播放器视图转移至所述播放器容器层,其中,所述第一播放器视图位于所述第一画面截图上方。
由以上可见,应用本公开实施例提供的方案切换视频页面时,在视图转移前将第一画面截图放置于第二视频页面的播放器容器层中,这样在第一播放器视图从第一视频页面中移除、且未添加至第二视频页面时,用户设备可以显示该第一画面截图,这样也就消除了黑屏问题。
本公开的一个实施例中,所述装置还包括:
第一调整模块,用于若第一显示区域与第二显示区域不一致,则将所述第二显示区域的位置调整为所述第一显示区域的位置,并将所述第二显示区域的尺寸调整为所述第一显示区域的尺寸,其中,所述第一显示区域为所述第一视频页面的播放器容器层在用户设备中的显示区域,所述第二显示区域为所述第二视频页面的播放器容器层在所述用户设备中的显示区域,转移前的第一播放器视图放置于所述第一视频页面的播放器容器层;
所述第一运行模块903,具体用于:
按照预设的第一还原速度,对所述第二显示区域的位置和尺寸进行还原,并在还原过程中,将所述第一视频页面的第一播放器视图转移至所述播放器容器层。
由以上可见,应用本公开实施例提供的方案切换视频页面时,在第一显示区域与第二显示区域不一致的情况下,通过将第二显示区域的位置和尺寸调整为第一显示区域的位置和尺寸,并在第二显示区域的位置和尺寸的还原过程中转移第一播放器视图,这样在用户设备中展示的页面切换过程为视频画面的位置和尺寸渐变、且视频内容不变的过程,实现了视频页面平滑切换。因此,应用本公开实施例提供的视频页面切换方案,能够平滑切换视频页面,提高用户的观看体验。
本公开的一个实施例中,所述第二视频页面为直播页面,所述播放器内核解码的视频数据为直播数据。
由于直播视频数据通常具有实时性,而应用本公开实施例提供的视频页面切换方案能够避免页面切换过程中的卡顿问题,因此,在上述第二视频页面为直播页面的情况下应用本公开实施例提供的视频页面切换方案,能够使得保证在页面切换过程中直播画面不中断、不卡顿,从而为用户实时、持续展示直播内容,这样能够提高用户观看直播的直播观看体验。
本公开的一个实施例中,参见图10,提供了另一种视频页面切换装置的结构示意图,本实施例中,上述装置包括:
第二响应模块1001,用于响应于用户发起的第二页面切换请求,在所述用户使用的用户设备显示第三视频页面、且所述第三视频页面下方加载有第四视频页面的情况下,将所述第三视频页面对应的第三播放器实例包含的播放器内核回调至所述第四视频页面对应的第四播放器实例,其中,所述第三视频页面展示的视图中包含第二播放器视图,所述第二播放器视图用于显示所述第三播放器实例对第二视频数据进行渲染得到的视频画面,所述第二视频数据为:所述第三视频页面待播放的、所述播放器内核解码的视频数据;
第二运行模块1002,用于运行所述第四播放器实例,并将所述第二播放器视图转移至所述第四视频页面中,以使得所述第四播放器实例对所述播放器内核解码的视频数据进行渲染得到视频画面,并显示在位于所述第四视频页面中的第二播放器视图中;
页面移除模块1003,用于移除转移视图后的第三视频页面。
由以上可见,应用本公开实施例提供的方案切换视频页面时,在用户设备显示第三视频页面、且第三视频页面下方加载有第四视频页面的情况下,第三视频页面对应的第三播放器实例为运行状态,此时第三播放器实例包含的播放器内核可以缓存并解码第三视频页面待播放的视频数据,在将第三播放器实例包含的播放器内核回调给第四播放器实例后,运行第四播放器实例,第四播放器实例包含的播放器内核仍然继续缓存并解析待播放的视频数据,通过第三播放器实例和第四播放器实例复用同一播放器内核,能够避免在运行第四播放器实例时,第四播放器实例包含的播放器内核重新缓存视频数据并解码,这样也就能够避免在页面切换过程中由于重新缓存视频数据导致的卡顿问题,从而能够优化两种视频页面之间的页面切换过程,提高用户使用应用程序的使用体验。
本公开的一个实施例中,所述装置还包括:
第二获得模块,用于在将所述第二播放器视图转移至所述第四视频页面中之前,获得所述第二播放器视图当前显示的第二画面截图;
第二放置模块,用于将所述第二画面截图放置于所述第三视频页面的第一播放器容器层,其中,所述第一播放器容器层为所述第二播放器视图所在容器层。
由以上可见,应用本公开实施例提供的方案切换视频页面时,在视图转移前将第二画面截图放置于第三视频页面的第一播放器容器层中,这样在第二播放器视图从第三视频页面中移除、且未添加至第四视频页面时,用户设备可以显示该第二画面截图,这样也就消除了黑屏问题。
本公开的一个实施例中,所述装置还包括:
第二获得模块,用于在将所述第二播放器视图转移至所述第四视频页面中之前,获得所述第二播放器视图当前显示的第二画面截图;
第三放置模块,用于在所述第三视频页面为透明背景的视频页面的情况下,将所述第二画面截图放置于所述第四视频页面的第二播放器容器层;
所述第二运行模块1002,具体用于:
将所述第二播放器视图转移至所述第二播放器容器层,其中,所述第二播放器视图位于所述第二画面截图上方。
在第三视频页面为透明页面背景的视频页面的情况下,在将第二播放器实例从第三视频页面中移除时,用户设备中可以显示位于第三视频页面下方的第四视频页面,且由于第二播放器容器层中放置有第二画面截图,因此,用户设备在显示第四视频页面时可以显示该第二画面截图,这样也就消除了第二播放器视图转移过程中出现的黑屏问题。
本公开的一个实施例中,所述装置还包括:
第二调整模块,用于若第三显示区域与第四显示区域不一致,则将所述第四显示区域的位置调整为所诉第三显示区域的位置,并将所述第四显示区域的尺寸调整为所述第三显示区域的尺寸,其中,所述第三显示区域为所述第三视频页面的第一播放器容器层在所述用户设备中的显示区域,所述第四显示区域为所述第四视频页面的第二播放器容器层在所述用户设备中的显示区域,转移前的第二播放器视图放置于所述第一播放器容器层;
所述第二运行模块1002,具体用于:
按照预设的第二还原速度,对所述第四显示区域的位置和尺寸进行还原,并在还原过程中将所述第二播放器视图转移至所述第二播放器容器层。
由以上可见,应用本公开实施例提供的方案切换视频页面时,在第三显示区域与第四显示区域不一致的情况下,通过将第四显示区域的位置和尺寸调整为第三显示区域的位置和尺寸,并在第四显示区域的位置和尺寸的还原过程中转移第二播放器视图,这样在用户设备中展示的页面切换过程为视频画面的位置和尺寸渐变、且视频内容不变的过程,实现了视频页面平滑切换。因此,应用本公开实施例提供的视频页面切换方案,能够平滑切换视频页面,提高用户的观看体验。
本公开的一个实施例中,所述装置还包括:
容器层隐藏模块,用于在所述运行所述第四播放器实例,并将所述第二播放器视图转移至所述第四视频页面中之前,隐藏所述第三视频页面中除第一播放器容器层外的其他容器层,其中,所述第一播放器容器层为所述第二播放器视图所在容器层。
由以上可见,应用本公开实施例提供的方案切换视频页面时,在将第二播放器视图转移至第四视频页面中之前,隐藏第三视频页面中除第一播放器容器层外的其他容器层,并在第二播放器视图转移至第四视频页面中之后,移除转移视图后的第三视频页面,这样逐步移除第三视频页面的各个容器层,能够避免用户产生跳跃感,提高视频页面切换的平顺性,从而提高用户的观看体验。
本公开的一个实施例中,所述第三视频页面为直播页面,所述播放器内核解码的视频数据为直播数据。
由于直播视频数据通常具有实时性,而应用本公开实施例提供的视频页面切换方案能够避免页面切换过程中的卡顿问题,因此,在上述第三视频页面为直播页面的情况下应用本公开实施例提供的视频页面切换方案,能够使得保证在页面切换过程中直播画面不中断、不卡顿,从而为用户实时、持续展示直播内容,这样能够提高用户观看直播的直播观看体验。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
本公开的一个实施例中,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一视频页面切换方法。
本公开的一个实施例中,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述任一视频页面切换方法。
本公开的一个实施例中,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述任一视频页面切换方法。
图11示出了可以用来实施本公开的实施例的示例电子设备1100的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图11所示,设备1100包括计算单元1101,其可以根据存储在只读存储器(ROM)1102中的计算机程序或者从存储单元1108加载到随机访问存储器(RAM)1103中的计算机程序,来执行各种适当的动作和处理。在RAM 1103中,还可存储设备1100操作所需的各种程序和数据。计算单元1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
设备1100中的多个部件连接至I/O接口1105,包括:输入单元1106,例如键盘、鼠标等;输出单元1107,例如各种类型的显示器、扬声器等;存储单元1108,例如磁盘、光盘等;以及通信单元1109,例如网卡、调制解调器、无线通信收发机等。通信单元1109允许设备1100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1101可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1101的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1101执行上文所描述的各个方法和处理,例如视频页面切换方法。例如,在一些实施例中,视频页面切换方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1108。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1102和/或通信单元1109而被载入和/或安装到设备1100上。当计算机程序加载到RAM 1103并由计算单元1101执行时,可以执行上文描述的视频页面切换方法的一个或多个步骤。备选地,在其他实施例中,计算单元1101可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行视频页面切换方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (29)
1.一种视频页面切换方法,包括:
响应于用户发起的第一页面切换请求,确定第一播放器实例包含的播放器内核,并在当前第一视频页面上方加载待切换的第二视频页面,其中,所述第一播放器实例用于:对所述播放器内核中缓存并解码的第一视频数据进行渲染得到视频画面,所述第一视频数据为:所述第一视频页面待播放的视频数据;
创建所述第二视频页面对应的、复用所述播放器内核的第二播放器实例;
运行所述第二播放器实例,并将所述第一视频页面的第一播放器视图转移至所述第二视频页面中,以使得所述第二播放器实例对所述播放器内核解码的第一视频数据进行渲染得到视频画面,并显示在位于所述第二视频页面中的第一播放器视图中,其中,所述第一播放器视图用于显示播放器实例渲染得到的视频画面。
2.根据权利要求1所述的方法,其中,所述在当前第一视频页面上方加载待切换的第二视频页面,包括:
获得所述播放器内核的内核标识;
生成携带有所述内核标识的页面切换指令;
根据所述页面切换指令,在当前第一视频页面上方加载待切换的第二视频页面;
所述创建所述第二视频页面对应的、复用所述播放器内核的第二播放器实例,包括:
读取所述页面切换指令中携带的所述内核标识;
根据读取到的内核标识,复用所述播放器内核作为第二播放器实例的内核,创建所述第二视频页面对应的第二播放器实例。
3.根据权利要求1所述的方法,其中,所述在当前第一视频页面上方加载待切换的第二视频页面,包括:
在当前第一视频页面上方加载待切换的透明页面背景的第二视频页面。
4.根据权利要求1所述的方法,其中,所述在当前第一视频页面上方加载待切换的第二视频页面,包括:
在当前第一视频页面上方加载待切换的部分显示状态的第二视频页面,其中,所述部分显示状态的第二视频页面中播放器容器层为显示状态、其他容器层为隐藏状态,所述播放器容器层用于放置所述第一播放器视图;
在所述将所述第一视频页面的第一播放器视图转移至所述第二视频页面中之后,还包括:
显示所述第二视频页面中处于隐藏状态的其他容器层。
5.根据权利要求1-4中任一项所述的方法,其中,在所述将所述第一视频页面的第一播放器视图转移至所述第二视频页面中之前,还包括:
获得所述第一播放器视图当前显示的第一画面截图;
将所述第一画面截图放置于所述第二视频页面的播放器容器层中;
所述将所述第一视频页面的第一播放器视图转移至所述第二视频页面中,包括:
将所述第一视频页面的第一播放器视图转移至所述播放器容器层,其中,所述第一播放器视图位于所述第一画面截图上方。
6.根据权利要求5所述的方法,还包括:
若第一显示区域与第二显示区域不一致,则将所述第二显示区域的位置调整为所述第一显示区域的位置,并将所述第二显示区域的尺寸调整为所述第一显示区域的尺寸,其中,所述第一显示区域为所述第一视频页面的播放器容器层在用户设备中的显示区域,所述第二显示区域为所述第二视频页面的播放器容器层在所述用户设备中的显示区域,转移前的第一播放器视图放置于所述第一视频页面的播放器容器层;
所述将所述第一视频页面的第一播放器视图转移至所述播放器容器层,包括:
按照预设的第一还原速度,对所述第二显示区域的位置和尺寸进行还原,并在还原过程中,将所述第一视频页面的第一播放器视图转移至所述播放器容器层。
7.根据权利要求1-4中任一项所述的方法,其中,所述第二视频页面为直播页面,所述播放器内核解码的视频数据为直播数据。
8.一种视频页面切换方法,包括:
响应于用户发起的第二页面切换请求,在所述用户使用的用户设备显示第三视频页面、且所述第三视频页面下方加载有第四视频页面的情况下,将所述第三视频页面对应的第三播放器实例包含的播放器内核回调至所述第四视频页面对应的第四播放器实例,其中,所述第三视频页面展示的视图中包含第二播放器视图,所述第二播放器视图用于显示所述第三播放器实例对第二视频数据进行渲染得到的视频画面,所述第二视频数据为:所述第三视频页面待播放的、所述播放器内核解码的视频数据;
运行所述第四播放器实例,并将所述第二播放器视图转移至所述第四视频页面中,以使得所述第四播放器实例对所述播放器内核解码的视频数据进行渲染得到视频画面,并显示在位于所述第四视频页面中的第二播放器视图中;
移除转移视图后的第三视频页面。
9.根据权利要求8所述的方法,其中,在将所述第二播放器视图转移至所述第四视频页面中之前,还包括:
获得所述第二播放器视图当前显示的第二画面截图;
将所述第二画面截图放置于所述第三视频页面的第一播放器容器层,其中,所述第一播放器容器层为所述第二播放器视图所在容器层。
10.根据权利要求8所述的方法,其中,在将所述第二播放器视图转移至所述第四视频页面中之前,还包括:
获得所述第二播放器视图当前显示的第二画面截图;
在所述第三视频页面为透明背景的视频页面的情况下,将所述第二画面截图放置于所述第四视频页面的第二播放器容器层;
所述将所述第二播放器视图转移至所述第四视频页面中,包括:
将所述第二播放器视图转移至所述第二播放器容器层,其中,所述第二播放器视图位于所述第二画面截图上方。
11.根据权利要求10所述的方法,还包括:
若第三显示区域与第四显示区域不一致,则将所述第四显示区域的位置调整为所诉第三显示区域的位置,并将所述第四显示区域的尺寸调整为所述第三显示区域的尺寸,其中,所述第三显示区域为所述第三视频页面的第一播放器容器层在所述用户设备中的显示区域,所述第四显示区域为所述第四视频页面的第二播放器容器层在所述用户设备中的显示区域,转移前的第二播放器视图放置于所述第一播放器容器层;
所述将所述第二播放器视图转移至所述第二播放器容器层,包括:
按照预设的第二还原速度,对所述第四显示区域的位置和尺寸进行还原,并在还原过程中将所述第二播放器视图转移至所述第二播放器容器层。
12.根据权利要求8-11中任一项所述的方法,其中,在所述运行所述第四播放器实例,并将所述第二播放器视图转移至所述第四视频页面中之前,还包括:
隐藏所述第三视频页面中除第一播放器容器层外的其他容器层,其中,所述第一播放器容器层为所述第二播放器视图所在容器层。
13.根据权利要求8-11中任一项所述的方法,其中,所述第三视频页面为直播页面,所述播放器内核解码的视频数据为直播数据。
14.一种视频页面切换装置,包括:
第一响应模块,用于响应于用户发起的第一页面切换请求,确定第一播放器实例包含的播放器内核,并在当前第一视频页面上方加载待切换的第二视频页面,其中,所述第一播放器实例用于:对所述播放器内核中缓存并解码的第一视频数据进行渲染得到视频画面,所述第一视频数据为:所述第一视频页面待播放的视频数据;
第一创建模块,用于创建所述第二视频页面对应的、复用所述播放器内核的第二播放器实例;
第一运行模块,用于运行所述第二播放器实例,并将所述第一视频页面的第一播放器视图转移至所述第二视频页面中,以使得所述第二播放器实例对所述播放器内核解码的第一视频数据进行渲染得到视频画面,并显示在位于所述第二视频页面中的第一播放器视图中,其中,所述第一播放器视图用于显示播放器实例渲染得到的视频画面。
15.根据权利要求14所述的装置,其中,所述第一响应模块,具体用于:
获得所述播放器内核的内核标识;
生成携带有所述内核标识的页面切换指令;
根据所述页面切换指令,在当前第一视频页面上方加载待切换的第二视频页面;
所述第一创建模块,具体用于:
读取所述页面切换指令中携带的所述内核标识;
根据读取到的内核标识,复用所述播放器内核作为第二播放器实例的内核,创建所述第二视频页面对应的第二播放器实例。
16.根据权利要求14所述的装置,其中,所述第一响应模块,具体用于:
在当前第一视频页面上方加载待切换的透明页面背景的第二视频页面。
17.根据权利要求14所述的装置,其中,所述第一响应模块,具体用于:
在当前第一视频页面上方加载待切换的部分显示状态的第二视频页面,其中,所述部分显示状态的第二视频页面中播放器容器层为显示状态、其他容器层为隐藏状态,所述播放器容器层用于放置所述第一播放器视图;
所述装置还包括:
容器层显示模块,用于在所述将所述第一视频页面的第一播放器视图转移至所述第二视频页面中之后,显示所述第二视频页面中处于隐藏状态的其他容器层。
18.根据权利要求14-17中任一项所述的装置,还包括:
第一获得模块,用于在所述将所述第一播放器视图转移至所述第二视频页面中之前,获得所述第一播放器视图当前显示的第一画面截图;
第一放置模块,用于将所述第一画面截图放置于所述第二视频页面的播放器容器层中;
所述第一响应模块,具体用于:
将所述第一视频页面的第一播放器视图转移至所述播放器容器层,其中,所述第一播放器视图位于所述第一画面截图上方。
19.根据权利要求18所述的装置,还包括:
第一调整模块,用于若第一显示区域与第二显示区域不一致,则将所述第二显示区域的位置调整为所述第一显示区域的位置,并将所述第二显示区域的尺寸调整为所述第一显示区域的尺寸,其中,所述第一显示区域为所述第一视频页面的播放器容器层在用户设备中的显示区域,所述第二显示区域为所述第二视频页面的播放器容器层在所述用户设备中的显示区域,转移前的第一播放器视图放置于所述第一视频页面的播放器容器层;
所述第一运行模块,具体用于:
按照预设的第一还原速度,对所述第二显示区域的位置和尺寸进行还原,并在还原过程中,将所述第一视频页面的第一播放器视图转移至所述播放器容器层。
20.根据权利要求14-17中任一项所述的装置,其中,所述第二视频页面为直播页面,所述播放器内核解码的视频数据为直播数据。
21.一种视频页面切换装置,包括:
第二响应模块,用于响应于用户发起的第二页面切换请求,在所述用户使用的用户设备显示第三视频页面、且所述第三视频页面下方加载有第四视频页面的情况下,将所述第三视频页面对应的第三播放器实例包含的播放器内核回调至所述第四视频页面对应的第四播放器实例,其中,所述第三视频页面展示的视图中包含第二播放器视图,所述第二播放器视图用于显示所述第三播放器实例对第二视频数据进行渲染得到的视频画面,所述第二视频数据为:所述第三视频页面待播放的、所述播放器内核解码的视频数据;
第二运行模块,用于运行所述第四播放器实例,并将所述第二播放器视图转移至所述第四视频页面中,以使得所述第四播放器实例对所述播放器内核解码的视频数据进行渲染得到视频画面,并显示在位于所述第四视频页面中的第二播放器视图中;
页面移除模块,用于移除转移视图后的第三视频页面。
22.根据权利要求21所述的装置,还包括:
第二获得模块,用于在将所述第二播放器视图转移至所述第四视频页面中之前,获得所述第二播放器视图当前显示的第二画面截图;
第二放置模块,用于将所述第二画面截图放置于所述第三视频页面的第一播放器容器层,其中,所述第一播放器容器层为所述第二播放器视图所在容器层。
23.根据权利要求21所述的装置,还包括:
第二获得模块,用于在将所述第二播放器视图转移至所述第四视频页面中之前,获得所述第二播放器视图当前显示的第二画面截图;
第三放置模块,用于在所述第三视频页面为透明背景的视频页面的情况下,将所述第二画面截图放置于所述第四视频页面的第二播放器容器层;
所述第二运行模块,具体用于:
将所述第二播放器视图转移至所述第二播放器容器层,其中,所述第二播放器视图位于所述第二画面截图上方。
24.根据权利要求23所述的装置,还包括:
第二调整模块,用于若第三显示区域与第四显示区域不一致,则将所述第四显示区域的位置调整为所诉第三显示区域的位置,并将所述第四显示区域的尺寸调整为所述第三显示区域的尺寸,其中,所述第三显示区域为所述第三视频页面的第一播放器容器层在所述用户设备中的显示区域,所述第四显示区域为所述第四视频页面的第二播放器容器层在所述用户设备中的显示区域,转移前的第二播放器视图放置于所述第一播放器容器层;
所述第二运行模块,具体用于:
按照预设的第二还原速度,对所述第四显示区域的位置和尺寸进行还原,并在还原过程中将所述第二播放器视图转移至所述第二播放器容器层。
25.根据权利要求21-24中任一项所述的装置,还包括:
容器层隐藏模块,用于在所述运行所述第四播放器实例,并将所述第二播放器视图转移至所述第四视频页面中之前,隐藏所述第三视频页面中除第一播放器容器层外的其他容器层,其中,所述第一播放器容器层为所述第二播放器视图所在容器层。
26.根据权利要求21-24中任一项所述的装置,其中,所述第三视频页面为直播页面,所述播放器内核解码的视频数据为直播数据。
27.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7或8-13中任一项所述的方法。
28.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7或8-13中任一项所述的方法。
29.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-7或8-13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310165949.6A CN116233549A (zh) | 2023-02-24 | 2023-02-24 | 一种视频页面切换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310165949.6A CN116233549A (zh) | 2023-02-24 | 2023-02-24 | 一种视频页面切换方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116233549A true CN116233549A (zh) | 2023-06-06 |
Family
ID=86574551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310165949.6A Pending CN116233549A (zh) | 2023-02-24 | 2023-02-24 | 一种视频页面切换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116233549A (zh) |
-
2023
- 2023-02-24 CN CN202310165949.6A patent/CN116233549A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10271105B2 (en) | Method for playing video, client, and computer storage medium | |
CN113660504B (zh) | 消息展示方法、装置、电子设备以及存储介质 | |
CN113825020B (zh) | 视频清晰度切换方法、装置、设备、存储介质及程序产品 | |
CN114071190B (zh) | 云应用视频流处理方法、相关装置及计算机程序产品 | |
US20220224978A1 (en) | Video content display method, client, and storage medium | |
CN113453073B (zh) | 一种图像渲染方法、装置、电子设备及存储介质 | |
CN113655975B (zh) | 图像显示方法、装置、电子设备和介质 | |
CN114168793A (zh) | 主播展示方法、装置、设备和存储介质 | |
CN113411660B (zh) | 视频数据的处理方法、装置和电子设备 | |
CN107959845B (zh) | 图像数据传输的方法、装置、客户端装置及头戴显示设备 | |
CN106599323A (zh) | 在分布式文件系统中实现分布式管道的方法和装置 | |
CN109091866B (zh) | 显示控制方法、装置、计算机可读介质及电子设备 | |
CN116233549A (zh) | 一种视频页面切换方法及装置 | |
CN113411661B (zh) | 用于记录信息的方法、装置、设备、存储介质及程序产品 | |
CN113810755B (zh) | 全景视频预览的方法、装置、电子设备及存储介质 | |
CN114640876B (zh) | 多媒体业务视频显示方法、装置、计算机设备及存储介质 | |
CN113836455A (zh) | 特效渲染方法、装置、设备、存储介质及计算机程序产品 | |
CN112367295B (zh) | 插件展示方法及装置、存储介质及电子设备 | |
CN113613043A (zh) | 屏幕显示和图像处理方法以及嵌入式设备和云服务器 | |
CN114125135B (zh) | 一种视频内容呈现方法、装置、电子设备和存储介质 | |
CN114329278B (zh) | 搜索结果页的处理方法、装置、电子设备和存储介质 | |
CN116866661A (zh) | 一种视频预渲染方法、装置、设备及存储介质 | |
EP3389049B1 (en) | Enabling third parties to add effects to an application | |
CN115809046A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN114979471A (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 |