CN114666652A - 一种用于播放视频的方法、设备、介质及程序产品 - Google Patents
一种用于播放视频的方法、设备、介质及程序产品 Download PDFInfo
- Publication number
- CN114666652A CN114666652A CN202210224273.9A CN202210224273A CN114666652A CN 114666652 A CN114666652 A CN 114666652A CN 202210224273 A CN202210224273 A CN 202210224273A CN 114666652 A CN114666652 A CN 114666652A
- Authority
- CN
- China
- Prior art keywords
- video
- playing
- instance
- play
- pool
- 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 72
- 230000015654 memory Effects 0.000 claims description 65
- 238000004590 computer program Methods 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 12
- 230000000694 effects Effects 0.000 abstract description 4
- 238000004891 communication Methods 0.000 description 9
- 230000005291 magnetic effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised 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/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4383—Accessing a communication channel
- H04N21/4384—Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
-
- 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/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/458—Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
-
- 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/482—End-user interface for program selection
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请的目的是提供一种用于播放视频的方法、设备、介质及程序产品,该方法包括:响应于目标应用中的当前播放视频从第三视频切换到第一视频的视频切换事件,确定所述第一视频是否持有播放实例,若否,从所述目标应用的播放实例池中获取一个空闲的第一播放实例,将所述第一播放实例附加到所述第一视频上,并通过所述第一播放实例开始播放所述第一视频;从所述播放实例池中获取至少一个空闲的第二播放实例,将所述第二播放实例附加到排在所述第一视频之后的第二视频上。本申请基于多个视频共用一个播放实例池,通过播放实例的实时获取和实时释放来达到无痕切换视频的效果,可以在视频切换的时候避免视频停顿的问题。
Description
技术领域
本申请涉及通信领域,尤其涉及一种用于播放视频的技术。
背景技术
在现有技术中,当前视频场景下多个视频之间的视频切换通常采用的是单实例播放器播放的方式,即该多个视频共用同一个播放实例,但是单播放实例在视频切换时会存在视频停顿的问题,用户的视频观看体验较不理想。
发明内容
本申请的一个目的是提供一种用于播放视频的方法、设备、介质及程序产品。
根据本申请的一个方面,提供了一种用于播放视频的方法,该方法包括:
响应于目标应用中的当前播放视频从第三视频切换到第一视频的视频切换事件,确定所述第一视频是否持有播放实例,若否,从所述目标应用的播放实例池中获取一个空闲的第一播放实例,将所述第一播放实例附加到所述第一视频上,并通过所述第一播放实例开始播放所述第一视频;
从所述播放实例池中获取至少一个空闲的第二播放实例,将所述第二播放实例附加到排在所述第一视频之后的第二视频上。
根据本申请的一个方面,提供了一种用于播放视频的用户设备,该设备包括:
一一模块,用于响应于目标应用中的当前播放视频从第三视频切换到第一视频的视频切换事件,确定所述第一视频是否持有播放实例,若否,从所述目标应用的播放实例池中获取一个空闲的第一播放实例,将所述第一播放实例附加到所述第一视频上,并通过所述第一播放实例开始播放所述第一视频;
一二模块,用于从所述播放实例池中获取至少一个空闲的第二播放实例,将所述第二播放实例附加到排在所述第一视频之后的第二视频上。
根据本申请的一个方面,提供了一种用于播放视频的计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,其中,所述处理器执行所述计算机程序以实现如上所述任一方法的操作。
根据本申请的一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如上所述任一方法的操作。
根据本申请的一个方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上所述任一方法的步骤。
与现有技术相比,本申请响应于目标应用中的当前播放视频从第三视频切换到第一视频的视频切换事件,确定所述第一视频是否持有播放实例,若否,从所述目标应用的播放实例池中获取一个空闲的第一播放实例,将所述第一播放实例附加到所述第一视频上,并通过所述第一播放实例开始播放所述第一视频,从所述播放实例池中获取至少一个空闲的第二播放实例,将所述第二播放实例附加到排在所述第一视频之后的第二视频上,从而基于多个视频共用一个播放实例池,通过播放实例的实时获取和实时释放来达到无痕切换视频的效果,可以在视频切换的时候避免视频停顿的问题,能够明显提高用户的视频观看体验。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个实施例的一种用于播放视频的方法流程图;
图2示出根据本申请一个实施例的一种用于播放视频的方法流程图;
图3示出根据本申请一个实施例的一种用于播放视频的用户设备结构图;
图4示出可被用于实施本申请中所述的各个实施例的示例性系统。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如,中央处理器(Central Processing Unit,CPU))、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(Flash Memory)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-Change Memory,PCM)、可编程随机存取存储器(Programmable Random Access Memory,PRAM)、静态随机存取存储器(Static Random-Access Memory,SRAM)、动态随机存取存储器(Dynamic Random AccessMemory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能光盘(Digital Versatile Disc,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请所指设备包括但不限于终端、网络设备、或终端与网络设备通过网络相集成所构成的设备。所述终端包括但不限于任何一种可与用户进行人机交互(例如通过触摸板进行人机交互)的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如Android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑器件(Programmable Logic Device,PLD)、现场可编程门阵列(Field ProgrammableGate Array,FPGA)、数字信号处理器(Digital Signal Processor,DSP)、嵌入式设备等。所述网络设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,所述设备还可以是运行于所述终端、网络设备、或终端与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的程序。
当然,本领域技术人员应能理解上述设备仅为举例,其他现有的或今后可能出现的设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在本申请的描述中,“多个”的含义是两个或者更多,除非另有明确具体的限定。
图1示出根据本申请一个实施例的一种用于播放视频的方法流程图,该方法包括步骤S11和步骤S12。在步骤S11中,用户设备响应于目标应用中的当前播放视频从第三视频切换到第一视频的视频切换事件,确定所述第一视频是否持有播放实例,若否,从所述目标应用的播放实例池中获取一个空闲的第一播放实例,将所述第一播放实例附加到所述第一视频上,并通过所述第一播放实例开始播放所述第一视频;在步骤S12中,用户设备从所述播放实例池中获取至少一个空闲的第二播放实例,将所述第二播放实例附加到排在所述第一视频之后的第二视频上。
在步骤S11中,用户设备响应于目标应用中的当前播放视频从第三视频切换到第一视频的视频切换事件,确定所述第一视频是否持有播放实例,若否,从所述目标应用的播放实例池中获取一个空闲的第一播放实例,将所述第一播放实例附加到所述第一视频上,并通过所述第一播放实例开始播放所述第一视频。在一些实施例中,目标应用包括但不限于任何可以播放视频的应用。在一些实施例中,第三视频是将要停止播放的视频,第一视频是即将开始播放的视频。在一些实施例中,视频切换事件可以是由用户触发的,例如,当前页面是一个列表页面,在该列表页面上呈现了多个视频控件,每个视频控件中包括一个视频,该多个视频控件中每次只存在其中的一个视频控件处于播放状态,用户可以在该列表页面上通过手势滑动等操作来切换当前播放的视频控件,每当切换到一个视频控件,就会开始播放该视频控件中的视频,视频控件W1中包括第三视频,视频控件W2中包括第一视频,响应于用户在该列表页面上将当前处于播放状态的视频控件从视频控件W1切换到视频控件W3,当前播放的视频会从第三视频切换到第一视频。在一些实施例中,视频切换事件还可以是由目标应用或用户设备触发的,例如,目标应用在播放一个视频合集的时候,若当前在第一播放页面上播放第三视频,响应于第三视频播放完成,会从第一播放页面自动跳转至第二播放页面,并在第二播放页面上播放该视频合集中位于第三视频的后一位的第一视频,即当前播放的视频会从第三视频切换到第一视频。在一些实施例中,目标应用中存在一个播放实例池,该播放实例池中包括多个播放实例,每次在目标应用中创建(实例化)播放器对象可以得到一个对应的实例即播放实例,该播放器对象可以是目标应用提供的第三方播放器对象,或者,还可以是用户设备提供的系统播放器对象。在一些实施例中,确定第一视频是否持有播放实例是指呈现该第一视频的播放控件或播放页面是否关联(绑定)了一个播放实例,若否,从目标应用的播放实例池中获取一个空闲的播放实例,其中,空闲可以是指该播放实例未与任何播放控件或播放页面相关联。在一些实施例中,空闲的播放实例还需要满足目标应用中不存在与该播放实例相关联的播放地址。在一些实施例中,非空闲是指该播放实例与某个播放控件或播放页面相关联,或者,非空闲的播放实例还需要满足目标应用中存在与该播放实例相关联的播放地址。在一些实施例中,将该播放实例附加到该第一视频上,即通过调用播放实例所提供的第一接口或通过调用该呈现该第一视频的播放控件或播放页面所提供的第二接口,来建立该播放实例与该第一视频之间的关联(绑定)关系。在一些实施例中,通过调用播放实例所提供的接口,开始播放该第一视频。在一些实施例中,还会在该播放实例中先初始化播放器,然后再使用该播放器开始播放该第一视频。
在步骤S12中,用户设备从所述播放实例池中获取至少一个空闲的第二播放实例,将所述第二播放实例附加到排在所述第一视频之后的第二视频上。在一些实施例中,用户设备从目标应用的播放实例池中获取至少一个空闲的播放实例,将该播放实例附加到排在第一视频之后的第二视频上,即建立该播放实例与第二视频之间的关联(绑定)关系,排在第一视频之后的第二视频包括但不限于、在列表页面上位于第一视频所对应的第一播放控件的后一位的第二播放控件中的第二视频、视频合集中位于第一视频的后一位的第二视频。在一些实施例中,可以只获取一个第二播放实例,并将该播放实例附加到排在该第一视频之后的第二视频上,或者,还可以获取两个播放实例,并将该两个播放实例分别附加到排在该第一视频之后的第二视频及排在该第一视频之前的第三视频上。在一些实施例中,还可以获取多个播放实例,将该多个播放实例分别附加到排在该第一视频之后的多个播放实例上,或者,将该多个播放实例分别附加到排在该第一视频之前的第三视频及排在该第一视频之后的多个第二视频上,或者,将该多个播放实例分别附加到排在该第一视频之前的多个视频(包括第三视频)及排在该第一视频之后的多个第二视频上。在一些实施例中,在将第二播放实例附加到第二视频上之前,还会先判断该第二视频是否持有播放实例,只有在否的情况下,才会将第二播放实例附加到该第二视频上。本申请基于多个视频共用一个播放实例池,通过播放实例的实时获取和实时释放来达到无痕切换视频的效果,可以在视频切换的时候避免视频停顿的问题,能够明显提高用户的视频观看体验。
在一些实施例中,所述方法还包括:用户设备释放排在所述第三视频之前的第四视频所持有的播放实例。在一些实施例中,若将第二播放实例附加到排在第一视频之后的第二视频上,则还会释放排在第三视频之前的第四视频所持有的播放实例,释放是指取消该第四视频的播放控件或播放页面与该第四视频所持有的播放实例之间的关联关系或绑定关系,重置该播放实例的播放状态,并释放该播放实例所持有的资源(例如,内存空间),使得该播放实例重新变为空闲的播放实例。在一些实施例中,还会取消目标应用中该播放实例与第四视频的播放地址之间的关联关系。在一些实施例中,若将第二播放实例附加到排在第一视频之后的M个第二视频上,则还会释放排在第三视频之前的N(N=M-1)个第四视频上。在一些实施例中,在释放排在第三视频之前的第四视频所持有的播放实例之前,还会先判断该第四视频是否持有播放实例,只有在是的情况下,才会视频该第四视频所持有的播放实例。
在一些实施例中,所述方法还包括:用户设备释放所述第三视频所持有的第三播放实例;其中,所述步骤S12包括:用户设备从所述播放实例池中获取至少一个空闲的第二播放实例,将所述第二播放实例附加到所述第三视频以及排在所述第一视频之后的第二视频上。在一些实施例中,在视频切换的时候,还会先释放切换前的第三视频所持有的第三播放实例,然后后续会从播放实例池中获取一个空闲的第二播放实例,并将该第二播放实例附加到该第三视频上。
在一些实施例中,所述方法还包括:使得所述第三视频所持有的第三播放实例停止播放。在一些实施例中,在视频切换的时候,还会通过调用第三视频所持有的第三播放实例所提供的接口,使得第三播放实例停止播放第三视频。在一些实施例中,还会保存第三播放实例针对第三视频本次播放到的第三视频进度。
在一些实施例中,所述方法还包括:若所述第一视频持有目标播放实例,用户设备通过所述目标播放实例开始播放所述第一视频。在一些实施例中,在视频切换的时候,若切换后的第一视频已经持有目标播放实例,则会直接通过调用该目标播放实例所提供的接口,使得该目标播放实例开始播放该第一视频。在一些实施例中,还会接着目标播放实例上一次播放针对第一视频所播放到的进度继续播放该第一视频。
在一些实施例中,所述若所述第一视频持有目标播放实例,通过所述目标播放实例开始播放所述第一视频,包括:若所述第一视频持有目标播放实例,确定所述目标播放实例是否空闲;若是,通过所述目标播放实例开始播放所述第一视频;否则,使得所述目标播放实例继续播放。在一些实施例中,若第一视频持有目标播放实例,则需要先确定该目标播放实例是否空闲,其中,若目标播放实例被附加到第一视频后未曾开始播放过第一视频,则该目标播放实例是空闲的播放实例,否则,若目标播放实例被附加到第一视频后曾经开始播放过第一视频、当前处于停止播放的状态,则该目标播放实例是非空闲的播放实例。在一些实施例中,若目标播放实例是空闲的播放实例,则通过目标播放实例开始播放第一视频,否则,使得目标播放实例继续播放,例如,使得目标播放实例接着上一次播放到的进度继续播放。
在一些实施例中,所述方法还包括:用户设备建立所述第三播放实例与所述第三视频的播放地址之间的关联关系;将所述第三播放实例从所述第三视频上移除。在一些实施例中,在使得第三视频持有的第三播放实例停止播放的时候,还会在目标应用中建立该第三播放实例与该第三视频的播放地址之间的关联关系,并将第三播放实例从第三视频上移除,其中,移除指的是指取消该第三视频的播放控件或播放页面与该第三播放实例之间的关联关系或绑定关系,但并不会重置该第三播放实例的播放状态,也不会释放该第三播放实例所持有的资源(例如,内存空间)。在一些实施例中,该第三播放实例并不会变为空闲的播放实例,仍然是非空闲的播放实例。
在一些实施例中,所述步骤S11包括:用户设备响应于目标应用中的当前播放视频从第三视频切换到第一视频的视频切换事件,确定所述第一视频是否持有播放实例,若否,确定所述目标应用的播放实例池中是否存在与所述第一视频的播放地址相关联的第四播放实例;若是,将所述第四播放实例附加到所述第一视频上,并使得所述第四播放实例继续播放;否则,从所述播放实例池中获取一个空闲的第一播放实例,将所述第一播放实例附加到所述第一视频上,并通过所述第一播放实例开始播放所述第一视频。在一些实施例中,在切换视频的时候,若切换后的第一视频持有播放实例,则需要确定目标应用的播放实例池中是否存在与第一视频的播放地址相关联的第四播放实例,例如,根据第一视频的播放地址去播放实例池中查找是否存在与该播放地址相关联的非空闲的第四播放实例,若存在,则将该第四播放实例附加到第一视频上,并使得该第四播放实例针对该播放地址接着上一次播放到的进度继续播放,否则,从播放实例池中获取一个空闲的第一播放实例,将该第一播放实例附加到第一视频上,并通过第一播放实例开始播放该第一视频。
在一些实施例中,所述方法还包括:若满足预定的释放条件,用户设备释放所述播放实例池中的非空闲的至少一个第五播放实例。在一些实施例中,若所述播放实例池中空闲的播放实例数量满足预定的第一条件,释放所述播放实例池中的非空闲的至少一个第五播放实例。在一些实施例中,若所述用户设备的当前可用内存满足预定的第二条件,释放所述播放实例池中的非空闲的至少一个第五播放实例。
在一些实施例中,所述若满足预定的释放条件,释放所述播放实例池中的非空闲的至少一个第五播放实例,包括:若所述播放实例池中空闲的播放实例数量满足预定的第一条件,释放所述播放实例池中的非空闲的至少一个第五播放实例。在一些实施例中,若播放实例池中空闲的播放实例数量满足预定的第一条件,释放该播放实例池中的非空闲的至少一个第五播放实例,其中,第一条件可以是指空闲的播放实例数量大于或等于预定的数量阈值,或者,还可以是指空闲的播放实例数量相比于该播放实例池中的播放实例总数的占比大于或等于预定的比例阈值。
在一些实施例中,所述若满足预定的释放条件,释放所述播放实例池中的非空闲的至少一个第五播放实例,包括:若所述用户设备的当前可用内存满足预定的第二条件,释放所述播放实例池中的非空闲的至少一个第五播放实例。在一些实施例中,若用户设备的当前可用内存满足预定的第二条件,则会释放该播放实例池中非空闲的至少一个第五播放实例,其中,该第二条件可以是指该用户设备的可用内存大小低于或等于预定的内存大小阈值,或者,还可以是指该用户设备的可用内存大小相比于该用户设备的总内存大小的比值小于或等于预定的比例阈值。
在一些实施例中,所述释放所述播放实例池中的非空闲的至少一个第五播放实例,包括:从所述播放实例池中的非空闲的一个或多个播放实例中确定至少一个第五播放实例,其中,所述至少一个第五播放实例满足预定的释放条件;释放所述至少一个第五播放实例。在一些实施例中,从播放实例池中的非空闲的一个或多个播放实例中确定至少一个第五播放实例,并释放该至少一个第五播放实例,其中,可以是从该一个或多个播放实例中随机选择不超过预定数量阈值的至少一个第五播放实例,或者,还可以是将该一个或多个播放实例中满足预定的释放条件的至少一个播放实例确定为第五播放实例。
在一些实施例中,所述预定的释放条件包括:所述第五播放实例当前未处于播放状态;所述第五播放实例当前未被附加到视频上;所述第五播放实例当前所附加到的视频与所述目标应用的当前播放视频之间的间隔满足预定的第三条件;当前时间距离所述第五播放实例的最近一次播放事件对应的停止播放时间的时间间隔足预定的第四条件。在一些实施例中,该预定的释放条件可以是该第五播放实例当前已被附加到了某个视频上但该第五播放实例当前未处于播放状态(例如,处于播放停止状态),或者,还可以是该第五播放实例当前未被附加到某个视频上,或者,还可以是该第五播放实例当前所附加到的视频与目标应用的当前播放视频之间的间隔满足预定的第三条件,其中,该第三条件可以是指列表页面中或视频合集中该第五播放实例当前所附加到的视频与该当前播放视频之间所间隔的视频数量大于或等于预定的数量阈值或该所间隔的视频数量大于其他非空闲的播放实例当前所附加到的视频与该当前播放视频之间所间隔的视频数量,或者,该预定的释放条件还可以是当前时间距离该第五播放实例的最近一次播放事件对应的停止播放时间的时间间隔满足预定的第四条件,其中,该第四条件可以是该第五播放实例的上一次停止播放时间距离当前时间的时间间隔大于或等于预定的时长阈值或该时间间隔大于其他非空闲的播放实例的上一次停止播放时间距离当前时间的时间间隔。在一些实施例中,该预定的释放条件可以是上述多种释放条件中的至少一种释放条件的任意组合,在此不再赘述。
在一些实施例中,所述方法还包括:用户设备初始化所述播放实例池,创建预定数量的多个播放实例,将所述多个播放实例放入所述播放实例池。在一些实施例中,会在目标应用中初始化播放实例池的时候,创建(实例化)预定数量的多个播放实例,并将该多个播放实例放入该播放实例池,其中,该预定数量小于或等于该播放实例池的最大容积,该预定数量可以是由目标应用或目标应用对应的服务器默认配置的。
在一些实施例中,所述步骤S12包括:用户设备从所述播放实例池中获取至少一个空闲的第二播放实例,将所述第二播放实例附加到排在所述第一视频之后的第一预定数量的第二视频及排在所述第一视频之前的第二预定数量的第五视频上。在一些实施例中,在视频切换的时候,从播放实例池中获取至少一个空闲的第二播放实例,并将该至少一个空闲的第二播放实例分别附加到排在第一视频之后的第一预定数量的第二视频及排在第一视频之前的第二预定数量的第五视频(包括第三视频)上。在一些实施例中,第一预定数量等于第二预定数量。在一些实施例中,第一预定数量与第二预定数量之和小于播放实例池中的播放实例总数(即该预定数量)。在一些实施例中,第一一预定数量及第二预定数量可以是由目标应用或目标应用对应的服务器默认配置的。
在一些实施例中,所述方法还包括:用户设备根据所述预定数量,确定所述第一预定数量及所述第二预定数量。在一些实施例中,还可以根据播放实例池中的播放实例总数(即该预定数量)来动态确定第一预定数量及第二预定数量。在一些实施例中,可以根据预先构建的播放实例总数与预定数量之间的预定函数关系式,通过将该播放实例总数输入该函数关系式,将该函数关系式的输出作为第一预定数量、第二预定数量。在一些实施例中,还可以根据预先设置的播放实例总数与预定数量之间的映射关系,将该播放实例总数所映射的预定数量作为第一预定数量、第二预定数量。
在一些实施例中,所述方法还包括:用户设备根据所述用户设备的内存信息,确定所述预定数量。在一些实施例中,可以根据用户设备的内存大小,来动态确定播放实例池中的播放实例总数(即该预定数量)。例如,该预定数量与用户设备的内存大小成正比,用户设备的内存越大,则该预定数量越大,用户设备的内存越小,则该预定数量越小。
在一些实施例中,所述根据所述用户设备的内存信息,确定所述预定数量,包括:根据所述用户设备的内存信息及用户的视频切换画像信息,确定所述预定数量。在一些实施例中,根据用户设备的内存大小,并结合用户的视频切换画像信息,确定该预定数量,其中,该视频切换画像信息包括但不限于根据用户在目标应用中的历史行为信息(例如,通过手势滑动切换视频)生成的该用户在视频切换方面的习惯信息、喜好信息等,例如,该视频切换画像信息可以是该用户在目标应用中的平均视频切换速度,对于平均视频切换速度越快的用户,可以结合该用户设备的内存信息适当提高该预定数量,对于平均视频切换速度越慢的用户,可以结合该用户设备的内存信息适当减小该预定数量。
图2示出根据本申请一个实施例的一种用于播放视频的方法流程图。
如图2所示,响应于列表滑动事件,检查是否存在前一个将要停止播放的视频项(item),若存在,则释放该视频项所持有的播放实例,若不存在,继续检查即将播放的当前视频项是否持有播放实例,若否,从播放实例池中获取一个空闲的播放实例并附加到该当前视频项上,并开始播放当前视频,若是,则直接开始播放当前视频,然后从播放实例池获取两个空闲的播放实例,并分别附加到当前视频的上下两个视频项上,并完成播放器初始化。
图3示出根据本申请一个实施例的一种用于播放视频的用户设备结构图,该设备包括一一模块11和一二模块12。一一模块11,用于响应于目标应用中的当前播放视频从第三视频切换到第一视频的视频切换事件,确定所述第一视频是否持有播放实例,若否,从所述目标应用的播放实例池中获取一个空闲的第一播放实例,将所述第一播放实例附加到所述第一视频上,并通过所述第一播放实例开始播放所述第一视频;一二模块12,用于从所述播放实例池中获取至少一个空闲的第二播放实例,将所述第二播放实例附加到排在所述第一视频之后的第二视频上。
一一模块11,用于响应于目标应用中的当前播放视频从第三视频切换到第一视频的视频切换事件,确定所述第一视频是否持有播放实例,若否,从所述目标应用的播放实例池中获取一个空闲的第一播放实例,将所述第一播放实例附加到所述第一视频上,并通过所述第一播放实例开始播放所述第一视频。在一些实施例中,目标应用包括但不限于任何可以播放视频的应用。在一些实施例中,第三视频是将要停止播放的视频,第一视频是即将开始播放的视频。在一些实施例中,视频切换事件可以是由用户触发的,例如,当前页面是一个列表页面,在该列表页面上呈现了多个视频控件,每个视频控件中包括一个视频,该多个视频控件中每次只存在其中的一个视频控件处于播放状态,用户可以在该列表页面上通过手势滑动等操作来切换当前播放的视频控件,每当切换到一个视频控件,就会开始播放该视频控件中的视频,视频控件W1中包括第三视频,视频控件W2中包括第一视频,响应于用户在该列表页面上将当前处于播放状态的视频控件从视频控件W1切换到视频控件W3,当前播放的视频会从第三视频切换到第一视频。在一些实施例中,视频切换事件还可以是由目标应用或用户设备触发的,例如,目标应用在播放一个视频合集的时候,若当前在第一播放页面上播放第三视频,响应于第三视频播放完成,会从第一播放页面自动跳转至第二播放页面,并在第二播放页面上播放该视频合集中位于第三视频的后一位的第一视频,即当前播放的视频会从第三视频切换到第一视频。在一些实施例中,目标应用中存在一个播放实例池,该播放实例池中包括多个播放实例,每次在目标应用中创建(实例化)播放器对象可以得到一个对应的实例即播放实例,该播放器对象可以是目标应用提供的第三方播放器对象,或者,还可以是用户设备提供的系统播放器对象。在一些实施例中,确定第一视频是否持有播放实例是指呈现该第一视频的播放控件或播放页面是否关联(绑定)了一个播放实例,若否,从目标应用的播放实例池中获取一个空闲的播放实例,其中,空闲可以是指该播放实例未与任何播放控件或播放页面相关联。在一些实施例中,空闲的播放实例还需要满足目标应用中不存在与该播放实例相关联的播放地址。在一些实施例中,非空闲是指该播放实例与某个播放控件或播放页面相关联,或者,非空闲的播放实例还需要满足目标应用中存在与该播放实例相关联的播放地址。在一些实施例中,将该播放实例附加到该第一视频上,即通过调用播放实例所提供的第一接口或通过调用该呈现该第一视频的播放控件或播放页面所提供的第二接口,来建立该播放实例与该第一视频之间的关联(绑定)关系。在一些实施例中,通过调用播放实例所提供的接口,开始播放该第一视频。在一些实施例中,还会在该播放实例中先初始化播放器,然后再使用该播放器开始播放该第一视频。
一二模块12,用于从所述播放实例池中获取至少一个空闲的第二播放实例,将所述第二播放实例附加到排在所述第一视频之后的第二视频上。在一些实施例中,用户设备从目标应用的播放实例池中获取至少一个空闲的播放实例,将该播放实例附加到排在第一视频之后的第二视频上,即建立该播放实例与第二视频之间的关联(绑定)关系,排在第一视频之后的第二视频包括但不限于、在列表页面上位于第一视频所对应的第一播放控件的后一位的第二播放控件中的第二视频、视频合集中位于第一视频的后一位的第二视频。在一些实施例中,可以只获取一个第二播放实例,并将该播放实例附加到排在该第一视频之后的第二视频上,或者,还可以获取两个播放实例,并将该两个播放实例分别附加到排在该第一视频之后的第二视频及排在该第一视频之前的第三视频上。在一些实施例中,还可以获取多个播放实例,将该多个播放实例分别附加到排在该第一视频之后的多个播放实例上,或者,将该多个播放实例分别附加到排在该第一视频之前的第三视频及排在该第一视频之后的多个第二视频上,或者,将该多个播放实例分别附加到排在该第一视频之前的多个视频(包括第三视频)及排在该第一视频之后的多个第二视频上。在一些实施例中,在将第二播放实例附加到第二视频上之前,还会先判断该第二视频是否持有播放实例,只有在否的情况下,才会将第二播放实例附加到该第二视频上。本申请基于多个视频共用一个播放实例池,通过播放实例的实时获取和实时释放来达到无痕切换视频的效果,可以在视频切换的时候避免视频停顿的问题,能够明显提高用户的视频观看体验。
在一些实施例中,所述设备还用于:释放排在所述第三视频之前的第四视频所持有的播放实例。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述设备还用于:释放所述第三视频所持有的第三播放实例;其中,所述一二模块12用于:从所述播放实例池中获取至少一个空闲的第二播放实例,将所述第二播放实例附加到所述第三视频以及排在所述第一视频之后的第二视频上。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述设备还用于:使得所述第三视频所持有的第三播放实例停止播放。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述设备还用于:若所述第一视频持有目标播放实例,通过所述目标播放实例开始播放所述第一视频。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述若所述第一视频持有目标播放实例,通过所述目标播放实例开始播放所述第一视频,包括:若所述第一视频持有目标播放实例,确定所述目标播放实例是否空闲;若是,通过所述目标播放实例开始播放所述第一视频;否则,使得所述目标播放实例继续播放。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述设备还用于:建立所述第三播放实例与所述第三视频的播放地址之间的关联关系;将所述第三播放实例从所述第三视频上移除。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述一一模块11用于:响应于目标应用中的当前播放视频从第三视频切换到第一视频的视频切换事件,确定所述第一视频是否持有播放实例,若否,确定所述目标应用的播放实例池中是否存在与所述第一视频的播放地址相关联的第四播放实例;若是,将所述第四播放实例附加到所述第一视频上,并使得所述第四播放实例继续播放;否则,从所述播放实例池中获取一个空闲的第一播放实例,将所述第一播放实例附加到所述第一视频上,并通过所述第一播放实例开始播放所述第一视频。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述设备还用于:若满足预定的释放条件,释放所述播放实例池中的非空闲的至少一个第五播放实例。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述若满足预定的释放条件,释放所述播放实例池中的非空闲的至少一个第五播放实例,包括:若所述播放实例池中空闲的播放实例数量满足预定的第一条件,释放所述播放实例池中的非空闲的至少一个第五播放实例。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述若满足预定的释放条件,释放所述播放实例池中的非空闲的至少一个第五播放实例,包括:若所述用户设备的当前可用内存满足预定的第二条件,释放所述播放实例池中的非空闲的至少一个第五播放实例。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述释放所述播放实例池中的非空闲的至少一个第五播放实例,包括:从所述播放实例池中的非空闲的一个或多个播放实例中确定至少一个第五播放实例,其中,所述至少一个第五播放实例满足预定的释放条件;释放所述至少一个第五播放实例。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述预定的释放条件包括:所述第五播放实例当前未处于播放状态;所述第五播放实例当前未被附加到视频上;所述第五播放实例当前所附加到的视频与所述目标应用的当前播放视频之间的间隔满足预定的第三条件;当前时间距离所述第五播放实例的最近一次播放事件对应的停止播放时间的时间间隔足预定的第四条件。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述设备还用于:初始化所述播放实例池,创建预定数量的多个播放实例,将所述多个播放实例放入所述播放实例池。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述一二模块12用于:从所述播放实例池中获取至少一个空闲的第二播放实例,将所述第二播放实例附加到排在所述第一视频之后的第一预定数量的第二视频及排在所述第一视频之前的第二预定数量的第五视频上。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述设备还用于:根据所述预定数量,确定所述第一预定数量及所述第二预定数量。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述设备还用于:根据所述用户设备的内存信息,确定所述预定数量。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述根据所述用户设备的内存信息,确定所述预定数量,包括:根据所述用户设备的内存信息及用户的视频切换画像信息,确定所述预定数量。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
除上述各实施例介绍的方法和设备外,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前任一项所述的方法。
图4示出了可被用于实施本申请中所述的各个实施例的示例性系统;
如图4所示在一些实施例中,系统300能够作为各所述实施例中的任意一个设备。在一些实施例中,系统300可包括具有指令的一个或多个计算机可读介质(例如,系统存储器或NVM/存储设备320)以及与该一个或多个计算机可读介质耦合并被配置为执行指令以实现模块从而执行本申请中所述的动作的一个或多个处理器(例如,(一个或多个)处理器305)。
对于一个实施例,系统控制模块310可包括任意适当的接口控制器,以向(一个或多个)处理器305中的至少一个和/或与系统控制模块310通信的任意适当的设备或组件提供任意适当的接口。
系统控制模块310可包括存储器控制器模块330,以向系统存储器315提供接口。存储器控制器模块330可以是硬件模块、软件模块和/或固件模块。
系统存储器315可被用于例如为系统300加载和存储数据和/或指令。对于一个实施例,系统存储器315可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,系统存储器315可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,系统控制模块310可包括一个或多个输入/输出(I/O)控制器,以向NVM/存储设备320及(一个或多个)通信接口325提供接口。
例如,NVM/存储设备320可被用于存储数据和/或指令。NVM/存储设备320可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备320可包括在物理上作为系统300被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,NVM/存储设备320可通过网络经由(一个或多个)通信接口325进行访问。
(一个或多个)通信接口325可为系统300提供接口以通过一个或多个网络和/或与任意其他适当的设备通信。系统300可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信。
对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器(例如,存储器控制器模块330)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。
在各个实施例中,系统300可以但不限于是:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)。在各个实施例中,系统300可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,系统300包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
通信介质包括藉此包含例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个系统传送到另一系统的介质。通信介质可包括有导的传输介质(诸如电缆和线(例如,光纤、同轴等))和能传播能量波的无线(未有导的传输)介质,诸如声音、电磁、RF、微波和红外。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质(诸如载波或诸如被体现为扩展频谱技术的一部分的类似机制)中的已调制数据信号。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。调制可以是模拟的、数字的或混合调制技术。
作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但不限于,易失性存储器,诸如随机存储器(RAM,DRAM,SRAM);以及非易失性存储器,诸如闪存、各种只读存储器(ROM,PROM,EPROM,EEPROM)、磁性和铁磁/铁电存储器(MRAM,FeRAM);以及磁性和光学存储设备(硬盘、磁带、CD、DVD);或其它现在已知的介质或今后开发的能够存储供计算机系统使用的计算机可读信息/数据。
在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (21)
1.一种用于播放视频的方法,应用于用户设备,其中,该方法包括:
响应于目标应用中的当前播放视频从第三视频切换到第一视频的视频切换事件,确定所述第一视频是否持有播放实例,若否,从所述目标应用的播放实例池中获取一个空闲的第一播放实例,将所述第一播放实例附加到所述第一视频上,并通过所述第一播放实例开始播放所述第一视频;
从所述播放实例池中获取至少一个空闲的第二播放实例,将所述第二播放实例附加到排在所述第一视频之后的第二视频上。
2.根据权利要求1所述的方法,其中,所述方法还包括:
释放排在所述第三视频之前的第四视频所持有的播放实例。
3.根据权利要求2所述的方法,其中,所述方法还包括:
释放所述第三视频所持有的第三播放实例;
其中,所述从所述播放实例池中获取至少一个空闲的第二播放实例,将所述第二播放实例附加到排在所述第一视频之后的第二视频上,包括:
从所述播放实例池中获取至少一个空闲的第二播放实例,将所述第二播放实例附加到所述第三视频以及排在所述第一视频之后的第二视频上。
4.根据权利要求2所述的方法,其中,所述方法还包括:
使得所述第三视频所持有的第三播放实例停止播放。
5.根据权利要求4所述的方法,其中,所述方法还包括:
若所述第一视频持有目标播放实例,通过所述目标播放实例开始播放所述第一视频。
6.根据权利要求5所述的方法,其中,所述若所述第一视频持有目标播放实例,通过所述目标播放实例开始播放所述第一视频,包括:
若所述第一视频持有目标播放实例,确定所述目标播放实例是否空闲;
若是,通过所述目标播放实例开始播放所述第一视频;否则,使得所述目标播放实例继续播放。
7.根据权利要求4所述的方法,其中,所述方法还包括:
建立所述第三播放实例与所述第三视频的播放地址之间的关联关系;
将所述第三播放实例从所述第三视频上移除。
8.根据权利要求7所述的方法,其中,所述响应于目标应用中的当前播放视频从第三视频切换到第一视频的视频切换事件,确定所述第一视频是否持有播放实例,若否,从所述目标应用的播放实例池中获取一个空闲的第一播放实例,将所述第一播放实例附加到所述第一视频上,并通过所述第一播放实例开始播放所述第一视频,包括:
响应于目标应用中的当前播放视频从第三视频切换到第一视频的视频切换事件,确定所述第一视频是否持有播放实例,若否,确定所述目标应用的播放实例池中是否存在与所述第一视频的播放地址相关联的第四播放实例;
若是,将所述第四播放实例附加到所述第一视频上,并使得所述第四播放实例继续播放;否则,从所述播放实例池中获取一个空闲的第一播放实例,将所述第一播放实例附加到所述第一视频上,并通过所述第一播放实例开始播放所述第一视频。
9.根据权利要求1所述的方法,其中,所述方法还包括:
若满足预定的释放条件,释放所述播放实例池中的非空闲的至少一个第五播放实例。
10.根据权利要求9所述的方法,其中,所述若满足预定的释放条件,释放所述播放实例池中的非空闲的至少一个第五播放实例,包括:
若所述播放实例池中空闲的播放实例数量满足预定的第一条件,释放所述播放实例池中的非空闲的至少一个第五播放实例。
11.根据权利要求9所述的方法,其中,所述若满足预定的释放条件,释放所述播放实例池中的非空闲的至少一个第五播放实例,包括:
若所述用户设备的当前可用内存满足预定的第二条件,释放所述播放实例池中的非空闲的至少一个第五播放实例。
12.根据权利要求9所述的方法,其中,所述释放所述播放实例池中的非空闲的至少一个第五播放实例,包括:
从所述播放实例池中的非空闲的一个或多个播放实例中确定至少一个第五播放实例,其中,所述至少一个第五播放实例满足预定的释放条件;
释放所述至少一个第五播放实例。
13.根据权利要求12所述的方法,其中,所述预定的释放条件包括:
所述第五播放实例当前未处于播放状态;
所述第五播放实例当前未被附加到视频上;
所述第五播放实例当前所附加到的视频与所述目标应用的当前播放视频之间的间隔满足预定的第三条件;
当前时间距离所述第五播放实例的最近一次播放事件对应的停止播放时间的时间间隔足预定的第四条件。
14.根据权利要求1所述的方法,其中,所述方法还包括:
初始化所述播放实例池,创建预定数量的多个播放实例,将所述多个播放实例放入所述播放实例池。
15.根据权利要求14所述的方法,其中,所述从所述播放实例池中获取至少一个空闲的第二播放实例,将所述第二播放实例附加到排在所述第一视频之后的第二视频上,包括:
从所述播放实例池中获取至少一个空闲的第二播放实例,将所述第二播放实例附加到排在所述第一视频之后的第一预定数量的第二视频及排在所述第一视频之前的第二预定数量的第五视频上。
16.根据权利要求15所述的方法,其中,所述方法还包括:
根据所述预定数量,确定所述第一预定数量及所述第二预定数量。
17.根据权利要求14所述的方法,其中,所述方法还包括:
根据所述用户设备的内存信息,确定所述预定数量。
18.根据权利要求17所述的方法,其中,所述根据所述用户设备的内存信息,确定所述预定数量,包括:
根据所述用户设备的内存信息及用户的视频切换画像信息,确定所述预定数量。
19.一种用于播放视频的计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现如权利要求1至18中任一项所述方法的步骤。
20.一种计算机可读存储介质,其上存储有计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现如权利要求1至18中任一项所述方法的步骤。
21.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至18中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210224273.9A CN114666652A (zh) | 2022-03-07 | 2022-03-07 | 一种用于播放视频的方法、设备、介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210224273.9A CN114666652A (zh) | 2022-03-07 | 2022-03-07 | 一种用于播放视频的方法、设备、介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114666652A true CN114666652A (zh) | 2022-06-24 |
Family
ID=82030227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210224273.9A Pending CN114666652A (zh) | 2022-03-07 | 2022-03-07 | 一种用于播放视频的方法、设备、介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114666652A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116700660A (zh) * | 2022-11-15 | 2023-09-05 | 荣耀终端有限公司 | 音频播放方法和电子设备 |
WO2024027449A1 (zh) * | 2022-08-02 | 2024-02-08 | 上海哔哩哔哩科技有限公司 | 混播处理方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106231402A (zh) * | 2016-07-18 | 2016-12-14 | 杭州当虹科技有限公司 | 一种在终端上将多个视频无缝衔接播放的方法 |
CN108810572A (zh) * | 2018-06-14 | 2018-11-13 | 深圳市茁壮网络股份有限公司 | 一种视频播放方法及装置 |
CN110430461A (zh) * | 2019-08-28 | 2019-11-08 | 腾讯科技(深圳)有限公司 | 一种控制视频播放的方法、装置及视频播放设备 |
WO2022037011A1 (zh) * | 2020-08-20 | 2022-02-24 | 连尚(新昌)网络科技有限公司 | 一种用于提供视频信息的方法与设备 |
-
2022
- 2022-03-07 CN CN202210224273.9A patent/CN114666652A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106231402A (zh) * | 2016-07-18 | 2016-12-14 | 杭州当虹科技有限公司 | 一种在终端上将多个视频无缝衔接播放的方法 |
CN108810572A (zh) * | 2018-06-14 | 2018-11-13 | 深圳市茁壮网络股份有限公司 | 一种视频播放方法及装置 |
CN110430461A (zh) * | 2019-08-28 | 2019-11-08 | 腾讯科技(深圳)有限公司 | 一种控制视频播放的方法、装置及视频播放设备 |
WO2022037011A1 (zh) * | 2020-08-20 | 2022-02-24 | 连尚(新昌)网络科技有限公司 | 一种用于提供视频信息的方法与设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024027449A1 (zh) * | 2022-08-02 | 2024-02-08 | 上海哔哩哔哩科技有限公司 | 混播处理方法及系统 |
CN116700660A (zh) * | 2022-11-15 | 2023-09-05 | 荣耀终端有限公司 | 音频播放方法和电子设备 |
CN116700660B (zh) * | 2022-11-15 | 2024-05-14 | 荣耀终端有限公司 | 音频播放方法和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110333918B (zh) | 一种管理寄宿程序的方法与设备 | |
CN110765395B (zh) | 一种用于提供小说信息的方法与设备 | |
CN114666652A (zh) | 一种用于播放视频的方法、设备、介质及程序产品 | |
CN110827061B (zh) | 一种用于在小说阅读过程中提供呈现信息的方法与设备 | |
KR20140058510A (ko) | 온디맨드 탭 리하이드레이션 기법 | |
CN110321189B (zh) | 一种在宿主程序中呈现寄宿程序的方法与设备 | |
CN110290557B (zh) | 一种加载应用内页面标签的方法与设备 | |
CN111488096B (zh) | 一种用于在阅读应用中展示互动呈现信息的方法与设备 | |
CN111506232B (zh) | 一种用于在阅读应用中控制菜单显示的方法与设备 | |
CN110515692B (zh) | 一种用于启动阅读应用的方法与设备 | |
CN109947504B (zh) | 一种在宿主程序中执行寄宿程序的方法与设备 | |
CN112822430B (zh) | 一种会议群组合并的方法与设备 | |
CN111526396B (zh) | 一种用于控制激励视频播放的方法与设备 | |
CN110290058B (zh) | 一种在应用中呈现会话消息的方法与设备 | |
CN111666195A (zh) | 一种用于提供视频信息或者图像信息的方法与设备 | |
CN114153535B (zh) | 用于在开屏页跳转页面的方法、设备、介质及程序产品 | |
CN110321205B (zh) | 一种在宿主程序中管理寄宿程序的方法与设备 | |
CN112702257B (zh) | 一种删除好友申请的方法与设备 | |
CN113157162B (zh) | 一种用于撤回会话消息的方法、设备、介质及程序产品 | |
CN111079039B (zh) | 一种用于收藏书籍的方法与设备 | |
CN115712752A (zh) | 一种用于推荐视频的方法、设备、介质及程序产品 | |
CN110460642B (zh) | 一种管理阅读模式的方法与设备 | |
CN112905081A (zh) | 一种用于展示呈现信息的方法、设备、介质及程序产品 | |
CN110780788A (zh) | 一种执行触控操作的方法与设备 | |
CN111680250A (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 |