CN118301402A - 基于快应用卡片播放视频的方法、电子设备及存储介质 - Google Patents
基于快应用卡片播放视频的方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN118301402A CN118301402A CN202410294642.0A CN202410294642A CN118301402A CN 118301402 A CN118301402 A CN 118301402A CN 202410294642 A CN202410294642 A CN 202410294642A CN 118301402 A CN118301402 A CN 118301402A
- Authority
- CN
- China
- Prior art keywords
- player
- videoview
- card
- component
- video
- 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 107
- 238000004590 computer program Methods 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims description 18
- 230000000694 effects Effects 0.000 abstract description 9
- 230000009471 action Effects 0.000 abstract description 6
- 238000007726 management method Methods 0.000 description 81
- 239000003795 chemical substances by application Substances 0.000 description 72
- 239000010410 layer Substances 0.000 description 24
- 238000010586 diagram Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 15
- 230000004044 response Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 6
- 239000008186 active pharmaceutical agent Substances 0.000 description 5
- 238000005192 partition Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- GRRMZXFOOGQMFA-UHFFFAOYSA-J YoYo-1 Chemical compound [I-].[I-].[I-].[I-].C12=CC=CC=C2C(C=C2N(C3=CC=CC=C3O2)C)=CC=[N+]1CCC[N+](C)(C)CCC[N+](C)(C)CCC[N+](C1=CC=CC=C11)=CC=C1C=C1N(C)C2=CC=CC=C2O1 GRRMZXFOOGQMFA-UHFFFAOYSA-J 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供了一种基于快应用卡片播放视频的方法、电子设备及存储介质,涉及终端技术领域。视频卡片包括一个或多个显示区域,分别对应不同VideoView组件,基于VideoView组件可以调用播放器在对应显示区域显示视频内容。在判断卡片的VideoView组件没有关联播放器时,会判断卡片是否已经占用了播放器,以此确定是否复用播放器。若卡片的第一VideoView组件已占用了播放器,则将该VideoView组件与播放器解绑,停止原有播放动作,并将卡片的第二VideoView组件与播放器绑定,使用该播放器开始新的播放,由此实现一张卡片同时只能播放一个视频的效果,提升用户使用效果。
Description
本申请要求于2023年9月27日提交国家知识产权局、申请号为202311288104.2、申请名称为“基于快应用卡片播放视频的方法、电子设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及终端技术领域,尤其涉及一种基于快应用卡片播放视频的方法、电子设备及存储介质。
背景技术
快应用是新型的手机应用形态,无需下载安装,能够即点即用。快应用卡片可以在各类使用场景的原生应用中嵌入展示,比如:负一屏、桌面、快服务中心等。目前,快应用卡片支持显示静态图像,用户应用场景比较局限。
发明内容
本申请提供一种基于快应用卡片播放视频的方法、电子设备及存储介质,能够基于快应用卡片显示一个或多个视频内容,展示内容更丰富,改善用户体验。
第一方面,本申请提供一种基于快应用卡片播放视频的方法,应用于电子设备,该方法包括:在桌面中显示至少一个卡片,该至少一个卡片中的第一卡片包括第一显示区域及对应的第一视频视图VideoView组件、第二显示区域及对应的第二VideoView组件;接收用户对第二显示区域的第一操作,该第一操作为触发播放视频的操作;响应于该第一操作,判断第二VideoView组件是否已关联播放器;在确定第二VideoView组件未关联播放器的情况下,判断第一卡片中的其他VideoView组件是否已关联播放器;在确定第一VideoView组件已关联第一播放器的情况下,将第一VideoView组件与第一播放器解除关联,将第二VideoView组件与第一播放器建立关联;通过第二VideoView组件调用第一播放器,在第二显示区域播放第一视频。
其中,第一卡片为通过JavaScript实现的快应用卡片,这类卡片可以称为JS卡片。
其中,在桌面支持显示多张视频类卡片,每张卡片可以包括一个或多个显示区域,不同显示区域对应不同VideoView组件,基于VideoView组件可以调用播放器在对应显示区域显示视频内容。
需要说明的是,当前快应用联盟限定了在诸如负一屏/桌面/快服务中心等卡片宿主应用的界面中支持的最多播放视频数量(记为M),例如最大播放视频数量M为3。由于当前快应用联盟未对同一张卡片播放视频做任何限制,在实际使用过程中可能出现同一张卡片同时播放多个视频的情况,影响用户体验。
通过本申请实施例提供的基于快应用卡片播放视频的方法,视频卡片包括一个或多个显示区域,分别对应不同VideoView组件,基于VideoView组件可以调用播放器在对应显示区域显示视频内容。在用户触发某一卡片播放视频时,在判断卡片的VideoView组件没有关联播放器时会判断卡片是否已经占用了播放器,以此确定是否复用播放器。在卡片的某一VideoView组件已经占用了播放器的情况下,将该VideoView组件与播放器解绑,然后将卡片的另一VideoView组件与播放器绑定,这样,解绑后的VideoView组件停止原有播放动作,新绑定的VideoView组件使用该播放器开始新的播放另一视频,由此实现一张卡片同时只能播放一个视频的效果,信息展示更直观可控,提升用户使用效果。
其中,在第二显示区域播放第一视频时,第一显示区域停止播放视频。
需要说明的是,当前快应用联盟中未对同一张卡片播放视频做任何限制,仅控制一个宿主(负一屏/桌面/快服务中心)最大播放视频数量为3。通过本申请方案,对于一张快应用视频卡片,同一时间仅支持播放一个视频流/直播流,直接播放新视频/直播,自动停止原内容播放,使得视频内容展示更直观可控。
其中,关联可以理解为绑定(bind),解除关联可以理解为解除绑定或解绑。
在本申请实施例中,每张卡片可以包括一个或更多个显示区域,每个显示区域对应一个VideoView组件,即每张卡片可以包括一个或更多个VideoView组件。一个VideoView组件可以关联/绑定一个播放器。本申请方案可以包括下述两种应用场景:
场景1:桌面包括多张卡片,多张卡片共享三个播放器,由于一个VideoView组件关联/绑定一个播放器,因此各个卡片的VideoView组件会交替地占用播放器,换言之,三个播放器会交替地被不同卡片的VideoView组件关联并占用。可以保证在负一屏/桌面/快服务中心等卡片宿主界面中的最大播放视频数量为3。
场景2:对于包含多个显示区域的卡片而言,每张卡片可以绑定一个播放器,卡片所绑定的播放器可以由不同显示区域对应的VideoView组件复用。
在一些实施例中,本申请通过混合视图HyBridView对象判断卡片是否已经占用了播放器,以此确定是否复用该播放器。其中,HyBridView对象可以包含多个VideoView组件,多个VideoView组件分别对应不同的播放器代理PlayerProxy。
在本申请实施例中,在通过播放器代理PlayerProxy进行绑定bind动作时,通过当前Target(VideoView组件)获取对应的混合视图HyBridView,在实例mInstances数组中寻找是否有与当前Target相同的混合视图HyBridView。若存在相同,则确定当前卡片已经绑定播放器。
在此情况下,暂停当前卡片已绑定的播放器并设置当前卡片的原播放器代理为空(即解除绑定),并且将当前Target指向原有holder对象的mTarget对象(即重新绑定),进而实现复用当前卡片播放器,并停止原播放内容。
可以理解,在VideoView组件已绑定播放器的情况下,可以通过该VideoView组件调用已绑定的播放器,在该VideoView组件对应的显示区域播放视频。
在一些可能实现方式中,本申请提供的方法还包括:在确定第一卡片的其他VideoView组件未关联播放器的情况下,将第二VideoView组件与满足预设条件的第二播放器建立关联;通过第二VideoView组件调用第二播放器,在第二显示区域播放第一视频。
其中,第一操作可以为用户对第二显示区域的点击操作。
在一些可能实现方式中,上述第二播放器为可以M个播放器中已被关联且处于空闲状态的播放器;或者,在所述M个播放器均已被关联且处于占用状态的情况下,所述第二播放器为所述M个播放器中最早被关联的播放器。
在一些可能实现方式中,在所述将所述第二VideoView组件与满足预设条件的第二播放器建立关联之前,本申请提供的方法还包括:判断M个播放器中是否存在已被关联且处于空闲状态的播放器。
情况1:在确定所述M个播放器中存在已被关联且处于空闲状态的播放器的情况下,将所述已被关联且处于空闲状态的一个播放器解除关联,并将已解除关联的所述一个播放器确定为所述第二播放器。
情况2:在确定所述M个播放器中不存在已被关联且处于空闲状态的播放器的情况下,判断已被关联且处于占用状态的播放器数量是否等于M;在确定已被关联且处于占用状态的播放器数量等于M的情况下,将所述M个播放器中最早被关联的播放器解除关联并释放,并将已释放的所述播放器确定为满足所述预设条件的第二播放器。
在一些可能实现方式中,本申请提供的方法还包括:每当M个播放器中的某一播放器被关联时,更新播放器关联顺序;根据更新后的所述播放器关联顺序确定所述M个播放器中最早被关联的播放器。
例如,一种可能的播放器关联顺序为:(播放器1,VideoView组件1)、(播放器2,VideoView组件2)、(播放器3,VideoView组件3)。其中,三个播放器中最早被关联的播放器为播放器1。在此情况下可以将播放器1释放后供其他VideoView组件(如VideoView组件4)复用。
更新后的播放器关联顺序可以为:(播放器2,VideoView组件2)、(播放器3,VideoView组件3)、(播放器1,VideoView组件4)。其中,三个播放器中最早被关联的播放器变为播放器2。在此情况下可以将播放器2释放后供其他VideoView组件复用。
通过上述方案,在实际实现时,一个VideoView组件可以关联/绑定一个播放器,三个播放器会交替地被不同的VideoView组件关联并占用。针对三个播放器被关联的先后顺序进行记录并更新,基于更新后的播放器关联顺序可以播放器解除关联和重新关联有序完成,避免发生冲突。
在另一些可能实现方式中,本申请提供的方法还包括:每当M个播放器中的某一播放器被占用时,更新播放器占用顺序;根据更新后的所述播放器占用顺序确定所述M个播放器中最早被占用的播放器。针对三个播放器被占用的先后顺序进行记录并更新,基于更新后的播放器占用顺序可以播放器解绑和重新绑定有序完成,避免发生冲突。
在一些可能实现方式中,所述至少一个卡片还包括第二卡片,所述第二卡片对应第三VideoView组件;本申请提供的方法还包括:通过所述第三VideoView组件调用关联的播放器,在所述第二卡片的显示区域播放第二视频;在所述第三VideoView组件关联的播放器不同于所述第二VideoView组件关联的播放器的情况下,当在所述第二显示区域播放所述第一视频时,在所述第二卡片的显示区域保持播放所述第二视频。
在一些可能实现方式中,所述在桌面中显示至少一个卡片之前,本申请提供的方法还包括:接收用户向所述桌面添加所述第一卡片的第二操作;响应于所述第二操作,调用桌面应用将所述第一卡片加载到所述桌面;针对所述第一卡片的第一显示区域创建所述第一VideoView组件,并针对所述第一卡片的第二显示区域创建所述第二VideoView组件。
其中,第二操作可以为用户将第一卡片添加到桌面的点击确认操作或拖动操作。
在一些可能实现方式中,本申请提供的方法还包括:在调用桌面应用将第一卡片加载到所述桌面的情况下,检测第一卡片是否携带自动播放的属性信息;在检测到第一VideoView组件携带自动播放的属性信息的情况下,将第一VideoView组件与M个播放器中满足预设条件的第一播放器建立关联。
在一些可能实现方式中,所述在桌面中显示至少一个卡片,包括:在桌面中显示第一卡片,并基于第一VideoView组件携带自动播放的属性信息,通过第一VideoView组件调用第一播放器,在第一卡片的第一显示区域播放第二视频。
通过上述方案,响应于用户向桌面添加卡片的操作,通过桌面应用加载卡片;绘制第一卡片;创建所述第一卡片的第一VideoView组件以及第一播放器代理;在第一卡片携带自动播放的属性信息的情况下,播放器管理模块将第一VideoView组件与第一播放器绑定,并存储第一播放器与第一VideoView组件的映射关系;可以调用第一VideoView组件,通过第一播放器播放视频。
在一些可能实现方式中,在所述将所述第二VideoView组件与所述第一播放器建立关联之后,本申请提供的方法还包括:存储第二显示区域、第二VideoView组件、第一播放器、第一视频之间的第一映射关系。
在一些可能实现方式中,所述通过所述第二VideoView组件调用所述第一播放器,在所述第二显示区域播放第一视频,包括:基于第一映射关系,通过第二VideoView组件调用第一播放器,在第二显示区域播放所述第一视频。
在一些可能实现方式中,所述电子设备包括播放器管理模块。所述在确定所述第一VideoView组件已关联第一播放器的情况下,将所述第一VideoView组件与所述第一播放器解除关联,将所述第二VideoView组件与所述第一播放器建立关联,包括:在所述播放器管理模块确定所述第一VideoView组件已关联第一播放器的情况下,所述播放器管理模块将所述第一VideoView组件与所述第一播放器解除关联,并将所述第二VideoView组件与所述第一播放器建立关联。
通过本申请方案,在桌面或负一屏界面中显示快应用视频卡片,并调用绑定的播放器在快应用视频卡片中显示视频。通过快应用视频卡片为用户展示并推荐各种服务,信息展示更直观,服务推荐更全面。
第二方面,本申请提供一种基于快应用卡片播放视频的装置,该装置包括用于执行上述第一方面中的方法的单元。该装置可对应于执行上述第一方面中描述的方法,该装置中的单元的相关描述请参照上述第一方面的描述,为了简洁,在此不再赘述。
其中,上述第一方面描述的方法可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,处理模块或单元、显示模块或单元等。
第三方面,本申请提供一种电子设备,所述电子设备包括处理器、处理器以及存储器中存储的计算机程序或指令,处理器用于执行计算机程序或指令,使得第一方面中的方法被执行。
第四方面,本申请提供一种计算机可读存储介质,其上存储有用于实现第一方面中的方法的计算机程序(也可称为指令或代码)。例如,该计算机程序被计算机执行时,使得该计算机可以执行第一方面中的方法。
第五方面,本申请提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法。可选地,所述芯片还包括存储器,存储器与处理器通过电路或电线连接。
第六方面,本申请提供一种芯片***,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法。可选地,所述芯片***还包括存储器,存储器与处理器通过电路或电线连接。
第七方面,本申请提供一种计算机程序产品,所述计算机程序产品包括计算机程序(也可称为指令或代码),所述计算机程序被电子设备执行时使得电子设备实现第一方面中的方法。
可以理解的是,上述第二方面至第七方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1为本申请实施例提供的电子设备显示快应用卡片的界面示意图;
图2为本申请实施例提供的一种电子设备的结构示意图;
图3为本申请实施例提供的一种电子设备的软件架构示意图;
图4A为本申请实施例提供的向桌面添加快应用卡片的界面示意图;
图4B为本申请实施例提供的向负一屏添加快应用卡片的界面示意图;
图5为本申请实施例提供的快应用视频卡片的示意图;
图6A为本申请实施例提供的基于快应用卡片播放视频的方法中添加视频卡片的流程示意图;
图6B为本申请实施例基于图6A提供的添加视频卡片界面示意图;
图7A为本申请实施例提供的基于快应用卡片播放视频的方法中针对同一张卡片切换播放视频的流程示意图;
图7B为本申请实施例基于图7A提供的同一张卡片切换播放视频界面示意图;
图8A为本申请实施例提供的基于快应用卡片播放视频的方法的交互示意图;
图8B为本申请实施例基于图8A提供的基于快应用卡片播放视频的方法中的多张卡片播放控制流程示意图;
图9A为本申请实施例提供的基于快应用卡片播放视频的方法中的多张卡片依次绑定播放器并占用播放器的流程示意图;
图9B为本申请实施例基于图9A提供的多张卡片依次绑定播放器并占用播放器的界面示意图;
图10A为本申请实施例提供的基于快应用卡片播放视频的方法中播放器被循环占用的流程示意图;
图10B为本申请实施例基于图10A提供的播放器被循环绑定并占用的界面示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本文中符号“/”表示关联对象是或者的关系,例如A/B表示A或者B。
本文中的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或者两个以上,例如,多个处理单元是指两个或者两个以上的处理单元等;多个元件是指两个或者两个以上的元件等。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
快应用是一种新型的应用形态,以往的手机端应用主要有两种方式:网页、原生应用。网页无需安装,却体验不是很好;原生应用体验流畅,却需要从应用商店下载安装,难以一步直达用户。快应用的出现,能够让用户无需下载安装,并且还能流畅的体验应用内容,能够即点即用。
快应用卡片是属于快应用中定义的一个页面,是以嵌入其他应用进行展示的一种信息载体。快应用卡片可以在各类使用场景的原生应用中嵌入展示,比如:负一屏、桌面、快服务中心、全局搜索等。
示例性地,图1中的(a)示出了在快服务中心界面中显示快应用卡片“头条热榜”的示意图。
示例性地,图1中的(b)示出了在负一屏界面中显示快应用卡片“出行导航”的示意图。
示例性地,图1中的(c)示出了在桌面界面中显示快应用卡片“航班日程”的示意图。
目前,快应用卡片智能显示静态图像,用户应用场景比较局限,亟需一种能够通过快应用卡片显示视频的方法。
基于此,本申请实施例提供一种基于快应用卡片播放视频的方法及电子设备,通过在手机***底层进行改进,以提高用户体验。
为了便于说明,将基于快应用卡片播放视频的卡片称为快应用视频卡片。
需要说明的是,当前快应用联盟中未对同一张卡片播放视频做任何限制,仅控制一个宿主(负一屏/桌面/快服务中心)最大播放视频数量为3。在本申请实施例中,对于一张快应用视频卡片,同一时间仅支持播放一个视频流/直播流,直接播放新视频/直播,自动停止原内容播放。
在本申请实施例中,在PlayerProxy中进行bind动作时,通过当前target获取对应的HyBridView,在mInstances数组中寻找是否有PlayerProxy对象的HyBridView跟该target相同,相同则证明当前卡片已经存在播放器,则先暂停当前卡片中播放器,设置当前卡片原PlayerProxy为空,并把当前target指向原有holder对象的mTarget对象,进而实现复用当前卡片播放器,并停止原播放的效果。具体将在下文进行详细说明。
以下,先结合附图对本申请实施例提供的基于快应用卡片播放视频的方法应用的电子设备进行说明。
示例地,以电子设备为手机为例,图2示出了本申请实施例提供的一种电子设备的结构示意图。如图2所示,手机可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器(即听筒)170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identificationmodule,SIM)卡接口195等。
示例性地,上述传感器模块可以包括压力传感器、陀螺仪传感器、气压传感器、磁传感器、加速度传感器、距离传感器、接近光传感器、指纹传感器、温度传感器、触摸传感器、环境光传感器以及骨传导传感器等传感器。在本申请实施例中,电子设备可以通过接近光传感器(即光线传感器)、距离传感器等传感器来检测用户耳朵是否贴靠在听筒附近。例如,电子设备可以通过距离传感器检测手机前面板(或者屏幕)前方是否有遮挡,以及遮挡物与屏幕之间的距离,确定当前用户耳朵是否贴靠在听筒附近。
可以理解的是,本实施例示意的结构并不构成对手机的具体限定。在另一些实施例中,手机可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
通过本申请实施例提供的基于快应用卡片播放视频的方法,在桌面中显示至少一个卡片,该至少一个卡片中的第一卡片包括第一显示区域及对应的第一视频视图VideoView组件、第二显示区域及对应的第二VideoView组件;接收用户对第二显示区域的第一操作,该第一操作为触发播放视频的操作;响应于该第一操作,判断第二VideoView组件是否已关联播放器;在确定第二VideoView组件未关联播放器的情况下,判断第一卡片中的其他VideoView组件是否已关联播放器;在确定第一VideoView组件已关联第一播放器的情况下,将第一VideoView组件与第一播放器解除关联,将第二VideoView组件与第一播放器建立关联;通过第二VideoView组件调用第一播放器,在第二显示区域播放第一视频。
控制器可以是手机的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对手机的结构限定。在另一些实施例中,手机也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
手机的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
手机可以通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。显示屏194用于显示图像,视频等。
在本申请实施例中,显示屏194用于显示快应用卡片。
在本申请实施例中,电子设备可以将快应用卡片的入口设置在显示屏的不同界面,具体可以由***预设,也可以由用户自定义设置。例如可以在显示屏的桌面上显示快应用卡片,也可以在显示屏的负一屏显示快应用卡片,还可以在显示屏的快服务中心显示快应用卡片,或者可以在锁屏界面中显示快应用卡片。对于具有小屏的折叠屏电子设备而言,可以在小屏上显示快应用卡片。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机的存储能力。内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行手机的各种功能应用以及数据处理。例如,在本申请实施例中,处理器110可以通过执行存储在内部存储器121中的指令,内部存储器121可以包括存储程序区和存储数据区。
手机可以通过音频模块170,扬声器170A,受话器(即听筒)170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
以上是以电子设备为例对本申请实施例做出的具体说明。应该理解的是,本申请实施例示意的结构并不构成对电子设备的具体限定。电子设备可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
本申请实施例提供的电子设备可以是用户设备(user equipment,UE),例如可以为移动终端(例如用户手机)、平板电脑、桌面型、膝上型笔记本电脑、手持计算机、上网本、个人数字助理(personal digital assistant,PDA)等设备。
另外,在上述硬件之上,运行有操作***,操作***层的操作***可以是任意一种或多种通过进程(process)实现业务处理的计算机操作***,例如,Linux操作***、Unix操作***、Android操作***、iOS操作***或windows操作***等。在操作***上可以安装运行应用程序。
电子设备的操作***可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android***为例,示例性说明电子设备的软件结构。
图3是本申请实施例的电子设备的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android***分为四层,从上至下分别为应用程序层(applications),应用程序框架层(application framework),安卓运行时(AndroidRuntime)和***库,以及内核层(kernel)。
其中,应用程序层可以包括一系列应用程序包。例如,应用程序层可以包括***桌面APP,负一屏APP,快服务中心APP等应用程序(应用程序可以简称为应用),本申请实施例对此不做任何限制。
示例性地,负一屏APP可以作为快应用卡片的宿主。
示例性地,***桌面APP也可以作为快应用卡片的宿主。
示例性地,快服务中心APP也可以作为快应用卡片的宿主。
例如,负一屏APP作为快应用卡片的宿主,负一屏APP包含卡片软件开发工具包(software development kit,SDK),负一屏APP可以通过该卡片SDK实现在负一屏加载、渲染并显示快应用卡片。
例如,对于操作***的电子设备而言,可以基于JavaScript编程语言生成卡片,并在屏幕上显示卡片,比如可以通过卡片呈现航班信息、火车信息、会议信息或日程信息。
其中,JavaScript简称“JS”,是一种具有函数优先的轻量级、解释型或即时编译型的编程语言。JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。JavaScript可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。
卡片SDK是用于开发软件的一套工具集合。它包含了软件开发过程中所需要的各种组件、库、API等。例如,卡片SDK提供了一套完整的应用程序框架,包括UI组件、数据存储、网络通信等等,使得开发者可以更加方便地构建出应用程序。再例如,卡片SDK提供了一系列的API接口,可以帮助开发者实现各种功能。
本申请实施例中,应用程序层还可以包括快应用引擎APP。快应用引擎APP包括快应用RPK文件,该文件的后缀名为.rpk。
其中,快应用引擎APP为电子设备中预安装的应用程序,用于实现快应用卡片的下载、安装以及更新。快应用引擎APP还用于创建卡片、加载卡片以及加载页面,创建卡片的过程包括创建JS线程、绑定JS服务,以及绑定V8。快应用引擎APP还用于执行卡片渲染动作。快应用引擎APP还用于向网络请求卡片。
本申请实施例中,应用程序层还可以包括情景感知模块、业务逻辑处理模块和业务呈现模块等。情景感知模块、业务逻辑处理模块和业务呈现模块可以是独立的APP,或者可以分别集成在不同的APP中,或者可以集成在同一个APP中,本申请不做限定。
其中,情境感知模块,常驻运行或以低功耗形式运行,具有感知外部事实或者环境的能力。情境感知模块可以通过应用程序接口(application programming interface,API)从应用程序层的其他应用程序或应用程序框架层或***层或内核层来检测相关事件和获取事件的状态,比如检测蓝牙连接、网络连接、监测用户短信、定制定时器等。在本申请实施例中,情境感知模块主要作用是监听是否添加快应用视频卡片。情境感知模块还可以用于获取快应用视频卡片的播放器占用信息。情境感知模块可以将监听到的快应用视频卡片以及播放器占用信息,通知给业务逻辑处理模块。
业务逻辑处理模块(如:计算引擎)具有业务逻辑处理能力,用于根据情境感知模块监听到的快应用视频卡片以及播放器占用信息,以及预设的逻辑算法进行数据处理或逻辑判断,将快应用视频卡片的VideoView组件与合适播放器绑定,并指示业务呈现模块实现卡片显示任务。
业务呈现模块(如:YOYO建议),用于根据业务逻辑处理模块的指示,在桌面或负一屏界面中显示快应用视频卡片,并调用绑定的播放器在快应用视频卡片中显示视频。通过快应用视频卡片为用户展示并推荐各种服务,信息展示更直观,服务推荐更全面。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。如图3所示,应用程序框架层可以包括窗口管理器,JS(JavaScript)服务,视图***,资源管理器等,本申请实施例对此不做任何限制。
JS服务用于为快应用引擎提供卡片创建、卡片渲染等服务。通过JavaScript实现的快应用卡片,可以称为JS卡片。
窗口管理器用于管理窗口程序,例如用于管理YOYO建议提供的窗口程序。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片等。
视图***包括可视控件,例如显示文字的控件,显示图片的控件等。视图***可用于构建应用程序。显示界面可以由一个或多个视图组成的。
例如,在本申请实施例中,视图***可用于在桌面中显示快应用卡片。
Android Runtime包括核心库和虚拟机。Android Runtime负责安卓***的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
***库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:openGL ES),二维图形引擎(例如:SGL)等。表面管理器用于对显示子***进行管理,并且为多个应用程序提供了二维图层和三维图层的融合。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
为了便于说明,在图中还体现了与上述软件结构交互的硬件层。例如,硬件层可以包括显示屏。
需要说明的是,本申请实施例虽然以***为例进行说明,但是其基本原理同样适用于基于或等操作***的电子设备。
本申请实施例提供的基于快应用卡片播放视频的方法的执行主体可以为上述的电子设备,也可以为该电子设备中能够实现该基于快应用卡片播放视频的方法的功能模块和/或功能实体,并且本申请方案能够通过硬件和/或软件的方式实现,具体的可以根据实际使用需求确定,本申请实施例不作限定。下面以电子设备为例,结合附图对本申请实施例提供的基于快应用卡片播放视频的方法进行示例性的说明。
下面将结合附图,通过下述多个示例性实施例对本申请实施例进行举例说明。以下实施例中的方法均可以在具有上述硬件结构和软件架构的电子设备中实现。电子设备的硬件结构图可以如图2所示,电子设备的软件结构框图可以如图3所示,但本申请实施例并不限于此。为了便于说明,本申请实施例中均以电子设备为如图2所示的手机为例。
下面首先结合附图说明本申请方案的应用场景,然后结合具体的实施例介绍本申请实施例提供的基于快应用卡片播放视频的方法。
图4A示出了通过快服务中心入口找到快应用视频卡片并将快应用视频卡片添加到桌面的界面示意图。
如图4A中的(a)所示,电子设备显示负一屏的界面,负一屏的界面中显示有快服务中心的入口控件41。电子设备接收到用户在入口控件41上的操作。如图4A中的(b)所示,电子设备响应于用户操作,从负一屏的界面跳转到快服务中心界面。在快服务中心界面中显示有***推荐的快应用视频卡片以及“添加”控件42,***推荐的快应用视频卡片包括一个或多个区域,当快应用视频卡片包括多个区域时,多个区域可以分别显示不同视频内容。这里以***推荐的快应用视频卡片包括两个区域为例进行示例性说明。电子设备接收到用户在控件42上的操作。如图4A中的(c)所示,电子设备响应于用户操作,从快服务中心界面跳转到添加设置界面,在添加设置界面中显示有快应用视频卡片、“添加到桌面”控件43以及“添加到负一屏”控件44。
示例性地,如图4A中的(c)所示,电子设备接收到用户在控件43上的操作。如图4A中的(d)所示,电子设备响应于用户操作,从添加设置界面跳转到桌面,在桌面新增显示有快应用视频卡片。需要说明的是,在此情况下快应用视频卡片以桌面为宿主进行显示。
图4B示出了通过快服务中心入口找到快应用视频卡片并将快应用视频卡片添加到负一屏的界面示意图。示例性地,如图4B中的(a)至(d)所示,***推荐的快应用视频卡片包括一个区域。电子设备接收到用户在控件42上的操作,电子设备响应于用户操作,从快服务中心界面跳转到添加设置界面。电子设备接收到用户在添加设置界面中的“添加到负一屏”控件44上的操作,电子设备响应于用户操作,从添加设置界面跳转到负一屏,在负一屏新增显示有该快应用视频卡片。需要说明的是,在此情况下快应用视频卡片以负一屏为宿主进行显示。
还需要说明的是,本申请实施例不限定快应用视频卡片的尺寸。例如,快应用视频卡片的尺寸可以为2*4,其中2*4表示2行4列。为了便于说明,以下实施例以快应用视频卡片的尺寸为2*4为例进行示例性说明。
还需要说明的是,当快应用视频卡片中包括两个或更多个分区时,不限定两个或更多个分区的排布。例如,如图5中的(a)所示,当快应用视频卡片中包括两个分区时,这两个分区可以是上下两个分区,每个分区的尺寸为1*4;或者,如图5中的(b)所示,这两个分区可以是左右两个分区,每个分区的尺寸为2*2。
第一实施例
图6A是本申请实施例提供的基于快应用卡片播放视频的方法的场景示意图。参照图6A所示,该方法包括下述的步骤S101-S128。
下面以将快应用视频卡片添加到桌面为例进行示例性地说明。该实施例说明在桌面添加并显示快应用视频卡片,以及点击快应用视频卡片中不同区域时切换播放视频的过程。
S101,响应于用户将快应用视频卡片1添加到桌面的操作,桌面应用下载并安装该快应用视频卡片。
其中,快应用视频卡片1(简称为视频卡片1或卡片1)的安装包中携带有该视频卡片1的属性信息。
在一些实施例中,该视频卡片1的属性信息包括是否自动播放的属性信息。
在一些实施例中,视频卡片1包括卡片SDK模块。卡片SDK模块包含了卡片开发过程中所需要的各种组件、库、API等,能够协助桌面应用完成向桌面添加卡片的任务。
在一些实施例中,该视频卡片1的属性信息包括卡片1的视频视图(VideoView)组件信息。其中,电子设备可以将VideoView组件应用于视频卡片,实现简单视频播放功能。这样,电子设备可以通过视频卡片动态地呈现服务内容。
在一些实施例中,视频卡片1可以包括一个或更多个VideoView组件。本申请不限定卡片1的VideoView组件的数量。
本申请示例性地给出了如下三种可能情况:
情况1:视频卡片1可以包括一个VideoView组件,在此情况下,电子设备通过该VideoView组件在视频卡片1的全部区域动态或静态地呈现视频内容。
情况2:视频卡片1可以包括两个VideoView组件,分别记为VideoView组件1和VideoView组件2。在此情况下,电子设备分别通过VideoView组件1和VideoView组件2在视频卡片1中的两个区域动态或静态地呈现两个视频内容。在一些实施例中,这两个VideoView组件可以同时播放。在另一些实施例中,这两个VideoView组件可以切换交替播放。例如,在通过VideoView组件1播放视频时,VideoView组件2停止播放视频;或者,在通过VideoView组件2播放视频时,VideoView组件1停止播放视频。
示例性地,参考图6B中的(a),上述“用户将快应用视频卡片添加到桌面的操作”,可以是用户点击“添加到桌面”控件的操作。该视频卡片包括显示区域1和显示区域2这两个区域,在显示区域1中可以通过VideoView组件1展示一类视频内容(称为视频A),在显示区域2中可以通过VideoView组件2展示另一类视频内容(称为视频B)。
情况3:视频卡片1可以包括三个VideoView组件,电子设备分别通过三个VideoView组件在视频卡片1中的三个区域呈现三个视频内容。在一些实施例中,这三个VideoView组件可以同时播放。在另一些实施例中,这三个VideoView组件可以切换交替播放。例如,在通过三个VideoView组件中的一个VideoView组件播放视频时,其他两个VideoView组件停止播放视频。
其中,VideoView组件还可以称为视频视图类或者VideoView类。
S102,桌面应用向卡片SDK模块发送消息1,该消息1用于指示绘制视频卡片1,该消息1还携带视频卡片1的属性信息。
S103,卡片SDK模块响应于消息1,绘制视频卡片,例如绘制并创建VideoView组件1和VideoView组件2。其中,该视频卡片1的属性信息包括VideoView组件1为自动播放的属性信息。
本实施例以视频卡片1创建两个VideoView组件为例进行示例性说明。在实际实现时,还可以创建三个VideoView组件,三个VideoView组件的实现过程与两个VideoView组件的实现过程类型,此处不予赘述。
S104,卡片SDK模块根据VideoView组件1为自动播放的属性信息,为VideoView组件1创建播放器代理1。
其中,播放器代理1用于代理VideoView组件1的视频播放业务。
示例性地,播放器代理1用于处理VideoView组件1与播放器的绑定/解绑任务。例如,播放器代理1用于判断VideoView组件1是否已绑定播放器,并且在确定已绑定播放器的情况下指示通过已绑定播放器为VideoView组件1完成视频播放业务,或者,在确定未绑定播放器的情况下请求为VideoView组件1绑定播放器。
S105,卡片SDK模块指示播放器代理1绑定播放器。
S106,播放器代理1根据卡片SDK模块的指示,判断VideoView组件1是否已绑定播放器。
S107A,如果播放器代理1确定VideoView组件1已绑定播放器,播放器代理1向VideoView组件1指示通过已绑定的播放器来播放视频。相应地,VideoView组件1通过已绑定的播放器来播放视频。
S107B,如果播放器代理1确定VideoView组件1未绑定播放器,那么播放器代理1向播放器管理模块发送消息2,该消息2用于请求为视频卡片1的VideoView组件1绑定播放器。
其中,播放器管理模块用于管理多个播放器与VideoView组件的绑定及解绑(即释放)业务。
其中,播放器管理模块还用于记录多个播放器是否被占用,以及被占用的先后顺序。
为了便于说明,这里以播放器管理模块总共管理3个播放器为例进行说明,3个播放器分别称为播放器1、播放器2和播放器3。
在S107B之后,继续执行S108至S116。下面说明了播放器管理模块基于预设的逻辑判断,将卡片1的VideoView组件1绑定到合适的播放器。
S108,播放器管理模块根据播放器代理1的指示,判断视频卡片1是否已绑定播放器。
S109,如果播放器管理模块确定视频卡片1未绑定播放器,那么播放器管理模块继续判断是否有已绑定但空闲的播放器。
如果播放器被绑定并且当前正在被使用,那么播放器管理模块可以确认没有已绑定但空闲的播放器。
如果播放器被绑定但是当前未被使用,那么播放器管理模块可以确认有已绑定但空闲的播放器。在播放器管理模块确定有已绑定但空闲的播放器情况下,播放器管理模块可以释放该播放器的映射关系。进而,播放器管理模块可以将VideoView组件1与被释放的播放器绑定。
S110,如果播放器管理模块确定没有已绑定但空闲的播放器,那么播放器管理模块继续判断已绑定的播放器数量是否小于3个。
在已绑定的播放器数量小于3个的情况下,说明3个播放器中还有未被绑定的播放器,可能是1个播放器未被绑定,也可能是2个播放器未被绑定,还可能是3个播放器均未被绑定。
S111,如果播放器管理模块确定已绑定的播放器数量小于3个,那么播放器管理模块将视频卡片1的VideoView组件1与未被绑定的任一播放器(这里以播放器1为例)绑定,并存储播放器1与VideoView组件1的映射关系。
可以理解,在播放器1与VideoView组件1存在映射关系的情况下,VideoView组件1可以调用播放器1完成视频播放任务。
需要说明的是,播放器1与视频卡片1的VideoView组件1绑定,这说明播放器1与视频卡片1也完成绑定,即建立了映射关系。
为了便于说明,将播放器1与VideoView组件1的映射关系记为(播放器1,VideoView组件1)。
S112,播放器管理模块向播放器代理1返回指示绑定成功的消息。
其中,用于指示绑定成功的消息包含映射关系(播放器1,VideoView组件1)。
S113,播放器代理1根据映射关系(播放器1,VideoView组件1),指示VideoView组件1采用播放器1播放视频。
S114,VideoView组件1在接收到播放器代理1的指示之后,调用播放器1在显示区域1播放视频。
S115,视频卡片1通过卡片SDK模块向桌面应用返回已成功添加视频卡片的消息。
S116,电子设备在桌面成功添加并显示视频卡片1,该视频卡片1的显示区域1播放视频,该视频卡片1的显示区域2未播放视频。
其中,视频卡片1中包括两个区域,假设显示区域1对应于VideoView组件1,显示区域2对应于VideoView组件2。需要说明的是,在桌面显示视频卡片1时,与VideoView组件1对应的显示区域1自动播放视频,与VideoView组件2对应的显示区域2未播放视频。
示例性地,图6B是本申请实施例提供的基于快应用卡片播放视频的方法的场景示意图。参考图6B中的(a)和(b),响应于用户将视频卡片添加到桌面的操作,桌面应用下载并安装视频卡片,电子设备在桌面成功添加视频卡片并显示该视频卡片,该视频卡片分别通过显示区域1和显示区域2展示不同的视频源内容。例如,在显示区域1中可以通过VideoView组件1静态/动态地展示一类视频内容,在显示区域2中可以通过VideoView组件2静态/动态地展示另一类视频内容。
示例性地,假设VideoView组件1携带了自动播放的属性信息,且VideoView组件2未携带自动播放的属性信息,在此情况下,当视频卡片被添加到桌面时,显示区域1中会自动播放视频,显示区域2中此时不自动播放视频。
以上示例性地说明了在桌面添加视频卡片1以及显示视频卡片1的过程,其中,在视频卡片1的显示区域1自动播放视频A,在视频卡片1的显示区域2未播放视频B。需要说明的是,如果用户希望观看显示区域2的动态内容,那么用户可以点击显示区域2,以触发在显示区域2动态展示视频B。
下面结合图7A说明当用户点击显示区域2时,电子设备控制VideoView组件2在显示区域2播放视频B,以及控制VideoView组件1在显示区域1停止播放视频A的过程。结合图6A,如图7A所示,在S116之后,本申请提供的方法还包括下述步骤。
S117,桌面应用接收用户点击显示区域2的操作。
示例性地,如图7B中的(a)所示,桌面中显示视频卡片,该视频卡片包括显示区域1和显示区域2。用户可以通过点击显示区域2,触发在显示区域2中播放视频B。
其中,显示区域1对应于VideoView组件1,VideoView组件1已创建播放器代理1,并且已绑定播放器1。
其中,显示区域2对应于VideoView组件2,VideoView组件1未创建播放器代理,并且未绑定播放器。
S118,桌面应用向卡片SDK模块发送消息3,指示与显示区域2对应的VideoView组件2开始播放。
S119,卡片SDK模块根据消息3,为VideoView组件2创建播放器代理2。
其中,播放器代理2用于代理VideoView组件2的视频播放业务。
示例性地,播放器代理2用于处理VideoView组件2与播放器的绑定/解绑任务。例如,播放器代理2用于判断VideoView组件2是否已绑定播放器,并且在确定已绑定播放器的情况下指示通过已绑定播放器为VideoView组件2完成视频播放业务,或者,在确定未绑定播放器的情况下请求将VideoView组件2绑定到某一播放器。
S120,卡片SDK模块向播放器代理2发送消息4,消息4用于指示为VideoView组件2绑定播放器。
S121,播放器代理2根据卡片SDK模块的指示,判断VideoView组件2是否已绑定播放器。
S122A,如果播放器代理2确定VideoView组件2已绑定播放器,那么播放器代理2向VideoView组件2指示通过已绑定的播放器来播放视频。相应地,VideoView组件2通过调用已绑定的播放器来播放视频。
S122B,如果播放器代理2确定VideoView组件2未绑定播放器,那么播放器代理2向播放器管理模块发送消息5,该消息5用于请求为VideoView组件2绑定播放器。
在S122B之后,继续执行S123至S130。
S123,播放器管理模块根据消息5,判断视频卡片1是否已绑定播放器。
需要说明的是,参考上述流程,视频卡片1已绑定了播放器1,并且视频卡片1的VideoView组件1已绑定了播放器1。
S124,在播放器管理模块确定视频卡片1已绑定播放器1的情况下,播放器管理模块将播放器1与VideoView组件1的映射关系(播放器1,VideoView组件1),更新为播放器1与VideoView组件2的映射关系(播放器1,VideoView组件2)。
在此情况下,播放器1与视频卡片1的VideoView组件1解绑,播放器1与视频卡片1的VideoView组件2绑定。在S124之后,分别执行S125-S127,以及S128-S130。
S125,播放器管理模块向播放器代理1发送解绑消息,该解绑消息用于通知播放器1与VideoView组件1已解绑成功。
S126,播放器代理1指示VideoView组件1停止播放。
S127,VideoView组件1在接收到播放器代理1的指示之后,停止播放。
S128,播放器管理模块向播放器代理2发送绑定成功消息,该绑定成功消息用于通知播放器1与VideoView组件2已绑定成功。
S129,播放器代理2指示VideoView组件2开始播放。
S130,VideoView组件2在接收到播放器代理2的指示之后,调用播放器1在显示区域2播放视频。
需要说明的是,本申请不限定S125-S127和S128-S130的先后执行顺序,例如,可以先执行S125-S127,再执行S128-S130;或者可以先执行S128-S130,再执行S125-S127;或者可以同时执行S125-S127和S128-S130。其中,图7A是以先执行S125-S127,再执行S128-S130为例进行示例性说明的。
举例来说,图7B是本申请实施例提供的基于快应用卡片播放视频的方法的场景示意图。如图7B中的(a)所示,桌面中显示视频卡片,其中在显示区域1播放视频A,在显示区域2未播放。在用户点击显示区域2的情况下,如图7B中的(b)所示,电子设备控制在显示区域1暂停播放视频A,并控制在显示区域2开始播放视频B。
以上说明了当显示区域1正在播放视频时,用户点击显示区域2,触发显示区域2对应的VideoView组件2播放视频,以及显示区域1对应的VideoView组件1停止播放视频的过程。
第二实施例
上述第一实施例介绍了在一张卡片包括多个VideoView组件的情况下,通过将VideoView组件交替与播放器绑定来完成视频播放的过程。第二实施例将介绍在桌面存在多张卡片的情况下将VideoView组件与播放器解绑及绑定来完成视频播放的过程。
当前快应用联盟限定了一个宿主(负一屏/桌面/快服务中心)的最大播放视频数量,例如最大播放视频数量为3。在实际实现时设置了三个播放器,一个VideoView组件可以绑定一个播放器,三个播放器会交替被不同的VideoView组件占用。由于当前快应用联盟未对同一张卡片播放视频做任何限制,在实际使用过程中可能出现同一张卡片同时播放多个视频的情况,影响用户体验。
本申请通过HyBridView对象判断卡片是否已经占用了播放器,以此确定是否复用该播放器。在卡片的某一VideoView组件已经占用了播放器的情况下,将该VideoView组件与播放器解绑,然后将卡片的另一VideoView组件与播放器绑定,这样,解绑后的VideoView组件停止原有播放动作,新绑定的VideoView组件使用该播放器开始新的播放另一视频,由此实现一张卡片同时只能播放一个视频的效果。
图8A为本申请实施例提供的基于快应用卡片播放视频的方法的一个场景示意图。如图8A所示,桌面包括卡片1、卡片2和卡片3三张卡片,这三张卡片分别已绑定不同的播放器。其中,卡片1包括VideoView组件1,VideoView组件1通过播放器代理1与播放器1绑定(即建立映射关系)。卡片2包括VideoView组件3,VideoView组件3通过播放器代理3与播放器3绑定。卡片3包括VideoView组件3和VideoView组件4,VideoView组件3通过播放器代理3与播放器3绑定。
需要说明的是,在VideoView组件与播放器绑定之后,VideoView组件可以调用该绑定的播放器播放视频。在VideoView组件与播放器解绑之后,VideoView组件无法再调用播放器播放视频。
在一些实施例中,播放器管理模块负责管理VideoView组件与播放器之间的绑定与解绑。
在一些实施例中,播放器管理模块包括播放控制器,该播放控制器负责接收VideoView组件发送的绑定、开始播放、暂停/停止播放、或者解绑等指令,并根据指令控制播放器完成绑定、开始播放、暂停/停止播放、或者解绑等任务。
需要说明的是,目前存在的技术问题是:参考图8A,在卡片3的VideoView组件3通过播放器代理3与播放器3已绑定的情况下,如果卡片3的VideoView组件4需要绑定播放器,那么VideoView组件4应当绑定哪个播放器才能满足实际需求。
鉴于该情况,本申请实施例提供了解决方案,限定一张卡片每次最多绑定一个播放器,在卡片3的VideoView组件3通过播放器代理3与播放器3已绑定的情况下,卡片3已经占用播放器3,如果卡片3的VideoView组件4需要绑定播放器,那么为了避免同一张卡片同时占用多个播放器,需要先将VideoView组件3与播放器3解绑,然后再将VideoView组件4与播放器3绑定。由此实现一张卡片同时只播放一个视频的效果。
下面结合图8B说明卡片与播放器之间的绑定和解绑的实现方式。如图8B所示,卡片1已绑定播放器1、卡片2已绑定播放器2、卡片3(具体为VideoView组件3)已绑定播放器3。
S201、响应于播放操作,卡片3的VideoView组件4通过播放器代理4向播放器管理模块发送绑定播放器的请求。
其中,播放操作可以为用户点击卡片3中与VideoView组件4对应的区域内的播放控件。
S202、在播放器管理模块接收到该请求之后,播放器管理模块先判断卡片3是否已绑定播放器。
需要说明的是,如果同一张卡片同时占用多个播放器,那么会出现同一张卡片同时播放多个视频的场景,这会造成用户体验不佳,因此在卡片3的VideoView组件3已绑定播放器3的情况下,本申请会先完成VideoView组件3与播放器3的解绑,使得播放器3从被占用状态变为空闲状态,然后再将VideoView组件4与播放器3绑定。
S203、在确定卡片3的VideoView组件3已绑定播放器3的情况下,播放器管理模块指示VideoView组件3解绑。
S204、在VideoView组件3接收到指示后,VideoView组件3与播放器3解绑。
其中,VideoView组件3与播放器3解绑,指的是删除VideoView组件3与播放器3之间的映射关系。
S205、VideoView组件3向播放器管理模块返回解绑完成消息。
S206、播放器管理模块指示VideoView组件4与播放器3绑定。
S207、在VideoView组件4接收到指示后,VideoView组件4与播放器3绑定。
其中,VideoView组件4与播放器3绑定,指的是建立VideoView组件4与播放器3之间的映射关系。
S208、VideoView组件4向播放器管理模块返回绑定完成消息。
S209、播放器管理模块向VideoView组件4发送播放器3的参数。
S210、VideoView组件4基于播放器3进行初始化,例如设置播放源、进度、静音或监听等。
S211、在完成初始化后,VideoView组件4向播放器管理模块发送预加载/播放指令。
S212、播放器管理模块基于预加载/播放指令,开始使用播放器播放视频。
这样,在卡片3中与VideoView组件4对应的区域内,开始播放视频。
S213、播放器管理模块更新播放器占用信息。
在一些实施例中,播放器占用信息为播放器被哪些卡片占用的信息。例如,播放器占用信息包括播放器1被卡片1占用,播放器2被卡片2占用,播放器3被卡片3(VideoView组件4)占用。
在一些实施例中,播放器占用信息为播放器占用顺序,播放器占用顺序为:1.(播放器1,卡片1),2.(播放器2,卡片2),3.(播放器3,卡片3-VideoView组件4)。
其中,这里以播放器占用信息为播放器占用顺序为例进行示例性说明,在实际实现时播放器占用信息还可以为播放器关联/绑定顺序。
需要说明的是,本申请中限定了一张卡片每次最多绑定一个播放器,将VideoView组件3与播放器3解绑,再将VideoView组件4与播放器3绑定,也就是说,从VideoView组件3占用播放器3,切换为VideoView组件4占用播放器3。在此情况下,VideoView组件4可以使用播放器3播放视频,在VideoView组件12播放视频的同时,由于VideoView组件3与播放器3已解绑,因此VideoView组件3不播放。由此实现一张卡片同时只能播放一个视频的效果。
以上步骤说明了通过卡片播放视频的可能实现方式,以下步骤S214和S215说明卡片暂停播放的可能实现方式,以及步骤S216-S218说明移除卡片的可能实现方式。
S214、响应于停止/暂停操作,VideoView组件4向播放器管理模块发送停止/暂停指令。
其中,停止/暂停操作可以为用户点击卡片3中与VideoView组件4对应的区域内的停止/暂停控件。
S215、播放器管理模块基于停止/暂停指令,控制播放器3停止/暂停播放。
这样,在卡片3中与VideoView组件4对应的区域内已停止/暂停播放。
S216、响应于移除操作,VideoView组件4向播放器管理模块发送解绑及释放指令。
S217、播放器管理模块基于解绑及释放指令,将VideoView组件4与播放器3解绑,并释放播放器3。
S218、播放器管理模块向VideoView组件4返回已完成解绑并释放播放器的消息。
第三实施例
下面以桌面中显示多个快应用视频卡片为例进行示例性地说明。通过该实施例说明当用户依次点击桌面中的各个快应用视频卡片时,各个快应用视频卡片分别播放视频的过程。
需要说明的是,多个快应用视频卡片分别可以与播放器管理模块交互,由播放器管理模块管理多个播放器与多个快应用视频卡片之间的映射关系。
示例性地,多个快应用视频卡片可以包括视频卡片1、视频卡片2、视频卡片3。
其中,视频卡片1包括两个显示区域,显示区域11对应于VideoView组件11,显示区域12对应于VideoView组件12。针对VideoView组件11,已创建播放器代理11。针对VideoView组件12,已创建播放器代理12。
其中,视频卡片2包括一个显示区域,该显示区域对应于VideoView组件2,针对VideoView组件2,已创建播放器代理2。
其中,视频卡片3包括一个显示区域,该显示区域对应于VideoView组件3,针对VideoView组件3,已创建播放器代理3。
假设VideoView组件12与播放器1已绑定,VideoView组件2与播放器2已绑定,VideoView组件3与播放器3已绑定。
桌面中显示有视频卡片1、视频卡片2和视频卡片3。用户可以依次点击桌面中的三个快应用视频卡片,下面以先点击视频卡片3、再点击视频卡片1、再点击视频卡片2为例进行说明。
在第三实施例中,参照图9A所示,本申请提供的方法包括下述的步骤S301-S321。
S301,桌面应用接收用户点击视频卡片3的操作。
S302,桌面应用指示视频卡片3开始播放。
S303,视频卡片3的播放器代理3接收到指示消息,播放器代理3判断VideoView组件3是否已绑定播放器。
S304,在播放器代理3确定VideoView组件3已绑定播放器3的情况下,播放器代理3向VideoView组件3指示:通过播放器3播放视频。
S305,VideoView组件3通过播放器3播放视频。
S306,播放器代理3还向播放器管理模块发送播放器3被占用VideoView组件3的消息。
S307,播放器管理模块存储播放器占用顺序:1.(播放器3,卡片3,VideoView组件3)。
通过上述步骤,响应于用户点击桌面中的视频卡片3,电子设备可以在视频卡片3显示与视频卡片3对应视频源的视频内容。
在用户点击桌面中的视频卡片3,触发视频卡片3开始播放之后,用户再点击桌面中的视频卡片1,以触发视频卡片1开始播放。
S308,桌面应用接收用户点击视频卡片1的区域12的操作。
S309,桌面应用指示视频卡片1的区域12开始播放。
S310,视频卡片1的区域12对应的播放器代理12接收到指示消息,播放器代理12判断VideoView组件12是否已绑定播放器。
S311,在播放器代理12确定VideoView组件12已绑定播放器1的情况下,播放器代理12向VideoView组件12指示:通过播放器1播放视频。
S312,VideoView组件12调用播放器1播放视频。
S313,播放器代理2还向播放器管理模块发送播放器1被占用VideoView组件12的消息。
S314,播放器管理模块存储播放器占用顺序:
1.(播放器3,卡片3,VideoView组件3);
2.(播放器1,卡片1,VideoView组件12)。
通过上述步骤,响应于用户点击桌面中的视频卡片1的区域12,电子设备可以在视频卡片1的区域12显示与视频卡片1的区域12对应视频源的视频内容。需要说明的是,此时视频卡片1的区域11未播放视频。
在用户点击桌面中的视频卡片1,触发视频卡片1开始播放之后,用户再点击桌面中的卡片2,以触发卡片2开始播放。
S315,桌面应用接收用户点击视频卡片2的操作。
S316,桌面应用指示视频卡片2开始播放。
S317,视频卡片2的播放器代理2接收到指示消息,播放器代理2判断VideoView组件2是否已绑定播放器。
S318,在播放器代理2确定VideoView组件2已绑定播放器2的情况下,播放器代理2向VideoView组件2指示:通过播放器2播放视频。
S319,VideoView组件2调用播放器2播放视频。
通过上述步骤,响应于用户点击桌面中的视频卡片2,电子设备可以在视频卡片2显示与视频卡片2对应视频源的视频内容。
S320,播放器代理2还向播放器管理模块发送“播放器2被VideoView组件2占用”的消息。
S321,播放器管理模块存储播放器占用顺序:
1.(播放器3,卡片3,VideoView组件3);
2.(播放器1,卡片1,VideoView组件12);
3.(播放器2,卡片2,VideoView组件2)。
举例来说,图9B是本申请实施例提供的基于快应用卡片播放视频的方法的场景示意图。如图9B中的(a)所示,桌面中显示有视频卡片1、视频卡片2和视频卡片3。其中,视频卡片1对应于VideoView组件11和VideoView组件12、视频卡片2对应于VideoView组件2,视频卡片3对应于VideoView组件3。如图9B中的(a)至(d)所示,用户先点击视频卡片3,再点击视频卡片1,然后再点击视频卡片2,会触发视频卡片3、视频卡片1和视频卡片2依次播放视频内容,并且电子设备存储播放器占用顺序:(1)卡片3占用播放器3、(2)卡片1占用播放器1、(3)卡片2占用播放器2。
在实施例三中,以总共有三个播放器为例进行示例性说明,这三个播放器全部被占用,播放器管理模块存储了播放器占用顺序。下面结合图10A说明播放器管理模块根据播放器占用顺序对播放器进行解绑并重新绑定的过程。
响应于用户操作,电子设备在桌面中新增了一个视频卡片4,该视频卡片4对应于VideoView组件4和播放器代理4。用户可以点击桌面中的视频卡片4,以触发视频卡片4开始播放。下面说明在此情况下的播放器解绑及重新绑定的过程。参照图10A所示,该方法包括下述的步骤S322-S333。
S322,桌面应用接收用户点击视频卡片4的操作。
S323,桌面应用指示视频卡片4开始播放。
S324,视频卡片4的播放器代理4接收到指示消息,播放器代理4判断VideoView组件4是否已绑定播放器。
S325,在播放器代理4确定VideoView组件4未绑定播放器的情况下,播放器代理4向播放器管理模块发送消息6,该消息6用于请求为VideoView组件4绑定播放器。
需要说明的是,在播放器代理4确定VideoView组件4绑定播放器的情况下,播放器代理4指示VideoView组件4调用已绑定的播放器开始播放。
S326,播放器管理模块根据消息6,判断视频卡片4是否已绑定播放器。
S327,在播放器管理模块确定视频卡片4未绑定播放器的情况下,播放器管理模块继续判断是否有已绑定但空闲的播放器。
在一些实施例中,如果某一播放器为空闲状态且未被绑定,那么播放器管理模块可以确认有空闲的播放器。然后播放器管理模块可以将VideoView组件4与该空闲的播放器绑定。
在一些实施例中,如果播放器管理模块检测到某一播放器被绑定但是当前未被使用,那么播放器管理模块可以确认有已绑定但空闲的播放器。在此情况下,播放器管理模块可以释放已绑定但空闲的播放器。然后播放器管理模块可以将VideoView组件4与被释放的播放器绑定。
在一些实施例中,如果所有播放器均被绑定并且当前正在被使用,那么播放器管理模块可以确认没有已绑定但空闲的播放器。在此情况下执行下述S228。
S328,在播放器管理模块确定没有已绑定但空闲的播放器的情况下,播放器管理模块继续判断已占用的播放器数量是否等于3个。
其中,在已占用的播放器数量等于3个的情况下,说明3个播放器全部都被绑定/占用,需要释放其中的一个播放器。
S329,在播放器管理模块确定已占用的播放器数量等于3个的情况下,播放器管理模块根据三个播放器占用顺序,将三个播放器占用顺序中最早被绑定的播放器释放。
三个播放器占用顺序为:
1.(播放器3,卡片3,VideoView组件3);
2.(播放器1,卡片1,VideoView组件12);
3.(播放器2,卡片2,VideoView组件2)。
其中,播放器3最早被占用,优先释放播放器3。
播放器管理模块解除映射关系(播放器3,VideoView组件3),并将释放的播放器3与VideoView组件4进行绑定。
S330,播放器管理模块更新播放器占用顺序。
更新后的播放器占用顺序为:
1(播放器1,卡片1,VideoView组件12);
2.(播放器2,卡片2,VideoView组件2);
3.(播放器3,卡片4,VideoView组件4)。
S331,播放器管理模块向播放器代理4指示:已将播放器3与VideoView组件4成功绑定。
S332,播放器代理4向VideoView组件4指示:调用播放器3播放视频。
S333,卡片4的VideoView组件4调用播放器3开始播放视频。
举例来说,图10B是本申请实施例提供的基于快应用卡片播放视频的方法的场景示意图。如图10B中的(a)所示,桌面中显示四个视频卡片,其中三个视频卡片分别占用了三个播放器,且占用顺序为:(1)视频卡片3占用播放器3,(2)视频卡片1占用播放器1,(3)视频卡片2占用播放器2。如图10B中的(a)和(b)所示,在用户点击视频卡片4的情况下,三个播放器被均占用,电子设备释放最早被占用的播放器3,并由视频卡片4占用播放器3,并且占用顺序更新为:(1)视频卡片1占用播放器1,(2)视频卡片2占用播放器2,(3)视频卡片4占用播放器3。
需要说明的是,在本申请实施例中,“大于”可以替换为“大于或等于”,“小于或等于”可以替换为“小于”,或者,“大于或等于”可以替换为“大于”,“小于”可以替换为“小于或等于”。
本文中描述的各个实施例可以为独立的方案,也可以根据内在逻辑进行组合,这些方案都落入本申请的保护范围中。
上文主要从方法步骤的角度对本申请实施例提供的方案进行了描述。可以理解的是,为了实现上述功能,实施该方法的电子设备包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的保护范围。
本申请还提供一种芯片,该芯片与存储器耦合,该芯片用于读取并执行存储器中存储的计算机程序或指令,以执行上述各实施例中的方法。
本申请还提供一种电子设备,该电子设备包括芯片,该芯片用于读取并执行存储器存储的计算机程序或指令,使得各实施例中的方法被执行。
本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的基于快应用卡片播放视频的方法。
本实施例还提供了一种计算机程序产品,该计算机可读存储介质存储有程序代码,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的基于快应用卡片播放视频的方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的基于快应用卡片播放视频的方法。
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (18)
1.一种基于快应用卡片播放视频的方法,其特征在于,应用于电子设备,所述方法包括:
在桌面中显示至少一个卡片,所述至少一个卡片中的第一卡片包括第一显示区域及对应的第一视频视图VideoView组件、第二显示区域及对应的第二VideoView组件;
接收用户对所述第二显示区域的第一操作,所述第一操作为触发播放视频的操作;
响应于所述第一操作,判断所述第二VideoView组件是否已关联播放器;
在确定所述第二VideoView组件未关联播放器的情况下,判断所述第一卡片中的其他VideoView组件是否已关联播放器;
在确定所述第一VideoView组件已关联第一播放器的情况下,将所述第一VideoView组件与所述第一播放器解除关联,将所述第二VideoView组件与所述第一播放器建立关联;通过所述第二VideoView组件调用所述第一播放器,在所述第二显示区域播放第一视频。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在确定所述第一卡片的其他VideoView组件未关联播放器的情况下,将所述第二VideoView组件与满足预设条件的第二播放器建立关联;通过所述第二VideoView组件调用所述第二播放器,在所述第二显示区域播放第一视频。
3.根据权利要求2所述的方法,其特征在于,所述第二播放器为M个播放器中已被关联且处于空闲状态的播放器;或者,在所述M个播放器均已被关联且处于占用状态的情况下,所述第二播放器为所述M个播放器中最早被关联的播放器。
4.根据权利要求2所述的方法,其特征在于,在所述将所述第二VideoView组件与满足预设条件的第二播放器建立关联之前,所述方法还包括:
判断M个播放器中是否存在已被关联且处于空闲状态的播放器;
在确定所述M个播放器中存在已被关联且处于空闲状态的播放器的情况下,将所述已被关联且处于空闲状态的一个播放器解除关联,并将已解除关联的所述一个播放器确定为所述第二播放器。
5.根据权利要求4所述的方法,其特征在于,在所述判断M个播放器中是否存在已被关联且处于空闲状态的播放器之后,所述方法还包括:
在确定所述M个播放器中不存在已被关联且处于空闲状态的播放器的情况下,判断已被关联且处于占用状态的播放器数量是否等于M;
在确定已被关联且处于占用状态的播放器数量等于M的情况下,将所述M个播放器中最早被关联的播放器解除关联并释放,并将已释放的所述播放器确定为满足所述预设条件的第二播放器。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
每当所述M个播放器中的某一播放器被关联时,更新播放器关联顺序;
根据更新后的所述播放器关联顺序确定所述M个播放器中最早被关联的播放器。
7.根据权利要求1至6中任一项所述的方法,其特征在于,在所述第二显示区域播放所述第一视频时,所述第一显示区域停止播放视频。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述至少一个卡片还包括第二卡片,所述第二卡片对应第三VideoView组件;所述方法还包括:
通过所述第三VideoView组件调用关联的播放器,在所述第二卡片的显示区域播放第二视频;
在所述第三VideoView组件关联的播放器不同于所述第二VideoView组件关联的播放器的情况下,当在所述第二显示区域播放所述第一视频时,在所述第二卡片的显示区域保持播放所述第二视频。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述在桌面中显示至少一个卡片之前,所述方法还包括:
接收用户向所述桌面添加所述第一卡片的第二操作;
响应于所述第二操作,调用桌面应用将所述第一卡片加载到所述桌面;
针对所述第一卡片的第一显示区域创建所述第一VideoView组件,并针对所述第一卡片的第二显示区域创建所述第二VideoView组件。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述方法还包括:
在调用桌面应用将所述第一卡片加载到所述桌面的情况下,检测所述第一卡片是否携带自动播放的属性信息;
在检测到所述第一VideoView组件携带自动播放的属性信息的情况下,将所述第一VideoView组件与M个播放器中满足预设条件的第一播放器建立关联。
11.根据权利要求10所述的方法,其特征在于,所述在桌面中显示至少一个卡片,包括:
在桌面中显示所述第一卡片,并基于所述第一VideoView组件携带自动播放的属性信息,通过所述第一VideoView组件调用所述第一播放器,在所述第一卡片的第一显示区域播放第二视频。
12.根据权利要求1至11中任一项所述的方法,其特征在于,在所述将所述第二VideoView组件与所述第一播放器建立关联之后,所述方法还包括:
存储所述第二显示区域、所述第二VideoView组件、所述第一播放器、所述第一视频之间的第一映射关系。
13.根据权利要求12所述的方法,其特征在于,所述通过所述第二VideoView组件调用所述第一播放器,在所述第二显示区域播放第一视频,包括:
基于所述第一映射关系,通过所述第二VideoView组件调用所述第一播放器,在所述第二显示区域播放所述第一视频。
14.根据权利要求1至13中任一项所述的方法,其特征在于,所述电子设备包括播放器管理模块;
所述在确定所述第一VideoView组件已关联第一播放器的情况下,将所述第一VideoView组件与所述第一播放器解除关联,将所述第二VideoView组件与所述第一播放器建立关联,包括:
在所述播放器管理模块确定所述第一VideoView组件已关联第一播放器的情况下,所述播放器管理模块将所述第一VideoView组件与所述第一播放器解除关联,并将所述第二VideoView组件与所述第一播放器建立关联。
15.根据权利要求3至6中任一项所述的方法,其特征在于,所述第一卡片为快应用卡片。
16.一种电子设备,其特征在于,包括处理器、存储器以及存储在所述存储器上的计算机程序,所述处理器用于执行所述计算机程序,以使得所述电子设备实现如权利要求1至15中任一项所述的方法。
17.一种芯片***,包括处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器用于执行所述计算机程序,以实现如权利要求1至15中任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1至15中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2023112881042 | 2023-09-27 | ||
CN202311288104 | 2023-09-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118301402A true CN118301402A (zh) | 2024-07-05 |
Family
ID=91675007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410294642.0A Pending CN118301402A (zh) | 2023-09-27 | 2024-03-14 | 基于快应用卡片播放视频的方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118301402A (zh) |
-
2024
- 2024-03-14 CN CN202410294642.0A patent/CN118301402A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114327666B (zh) | 应用启动方法、装置和电子设备 | |
CN113542503B (zh) | 一种创建应用快捷方式的方法、电子设备及*** | |
CN108762881B (zh) | 界面绘制方法、装置、终端及存储介质 | |
CN113127130B (zh) | 页面跳转方法、装置及存储介质 | |
CN114124980B (zh) | 一种启动应用的方法、设备、***、终端及存储介质 | |
CN112527174A (zh) | 一种信息处理方法及电子设备 | |
CN111400002B (zh) | 应用进程与处理器核绑定方法及终端 | |
CN112749362A (zh) | 控件创建方法、装置、设备及存储介质 | |
CN113051015A (zh) | 页面渲染方法、装置、电子设备及存储介质 | |
CN111078325A (zh) | 应用程序运行方法、装置、电子设备及存储介质 | |
CN115438354A (zh) | 一种用户隐私保护方法及装置 | |
CN114915618B (zh) | 升级包下载方法及装置 | |
CN114222003A (zh) | 服务调用方法、***、装置、设备及存储介质 | |
CN112612539A (zh) | 数据模型卸载方法、装置、电子设备及存储介质 | |
CN110086814B (zh) | 一种数据获取的方法、装置及存储介质 | |
WO2022052928A1 (zh) | 一种应用接入方法及相关装置 | |
CN118301402A (zh) | 基于快应用卡片播放视频的方法、电子设备及存储介质 | |
CN114077368A (zh) | 车载小程序运行方法、装置、计算机设备及存储介质 | |
CN112612540A (zh) | 数据模型配置方法、装置、电子设备及存储介质 | |
CN117130688B (zh) | 快应用卡片加载方法、电子设备及存储介质 | |
CN116737404B (zh) | 用于应用接续的方法及终端设备 | |
CN116700660B (zh) | 音频播放方法和电子设备 | |
WO2022111702A1 (zh) | 一种跨应用迁移显示元素的方法及电子设备 | |
CN112596810B (zh) | 加载提示信息显示方法、装置、电子设备及存储介质 | |
WO2024131823A1 (zh) | 免安装应用的升级方法及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |