一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种视频轮播切换方法及终端与流程

2022-12-20 20:24:11 来源:中国专利 TAG:


1.本发明涉及信息技术领域,特别涉及一种视频轮播切换方法及终端。


背景技术:

2.在当前视频应用中,为了让视频进行连贯播放或者让用户对视频进行无限滑动切换,往往需要预先加载许多视频资源并且需要在来回切换中进行流畅滚动。如果一次性加载完所有需要的资源以及操作对象可能会因为内存占用大而导致应用卡顿或者闪退。于是有些应用会只加载当前所需要播放的视频,并且在切换到下一个视频时移除掉上一个播放的视频。
3.但是这种方案有几个缺点:
4.第一,视频切换时会有卡顿现象:例如用户每次开始播放视频或者切换到下一个视频时,需要重新去加载视频对象以及重新创建实例对象,如果网络不够好那么有可能出现视频加载需要很久的情况;重新创建对象需要向操作系统申请空间,频繁申请内存空间会影响移动端的流畅度。
5.第二,返回上一个视频时,无法从上一次的观看点继续观看:例如此时切换到当前视频,已经把上一个视频对象移除,用户想继续观看上一个视频时,需要重新加载视频,如果网络不佳将导致用户需要等待更多时间,严重影响观看体验。
6.第三,移动端耗电量大:由于频繁地创建对象以及回收对象,系统进行垃圾回收的频率猛增,导致cpu占用大、设备发烫和耗电量大的情况发生。


技术实现要素:

7.本发明所要解决的技术问题是:提供一种视频轮播切换方法及终端,能够提高视频轮播的流畅度。
8.为了解决上述技术问题,本发明采用的技术方案为:
9.一种视频轮播切换方法,包括步骤:
10.预先设置第一预设个数的视频节点和第二预设个数的节点容器,所述第二预设个数小于所述第一预设个数;
11.在每一个所述节点容器中依次添加一个所述视频节点,加载并依次播放所述节点容器中所述视频节点对应的节点视频;
12.获取滑动所述视频节点的滑动距离,判断所述滑动距离是否大于阈值,若是,则将滑动后选中的视频节点作为当前节点,若所述节点容器中不存在所述当前节点,则将所述节点容器中距离所述当前节点的最远的节点视频替换为所述当前节点的节点视频;
13.判断这一批的第一预设个数的视频节点是否均加载并播放完成,若是,则获取下一批第一预设个数的视频节点,将新获取的视频节点添加至对应的所述节点容器中并进行加载播放。
14.为了解决上述技术问题,本发明采用的另一种技术方案为:
15.一种视频轮播切换终端,包括存储器、处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
16.预先设置第一预设个数的视频节点和第二预设个数的节点容器,所述第二预设个数小于所述第一预设个数;
17.在每一个所述节点容器中依次添加一个所述视频节点,加载并依次播放所述节点容器中所述视频节点对应的节点视频;
18.获取滑动所述视频节点的滑动距离,判断所述滑动距离是否大于阈值,若是,则将滑动后选中的视频节点作为当前节点,若所述节点容器中不存在所述当前节点,则将所述节点容器中距离所述当前节点的最远的节点视频替换为所述当前节点的节点视频;
19.判断这一批的第一预设个数的视频节点是否均加载并播放完成,若是,则获取下一批第一预设个数的视频节点,将新获取的视频节点添加至对应的所述节点容器中并进行加载播放。
20.本发明的有益效果在于:预先设置第一预设个数的视频节点和第二预设个数的节点容器,在节点容器中依次添加视频节点,加载并依次播放视频节点对应的节点视频;通过限制节点容器的数量并动态替换节点容器中的节点,能够通过节点容器循环播放节点容器中的视频内容,不需要频繁地创建和回收节点对象,提高视频播放流畅度,并且便于快速查看最近历史节点的视频内容;当第一预设个数的视频节点都加载并播放完毕后,根据第一预设个数获取下一批的视频节点,从而不需要将所有待轮播视频的资源都存储在内存空间,避免占用过多存储空间造成卡顿的情况,提高视频轮播的流畅度。
附图说明
21.图1为本发明实施例的一种视频轮播切换方法的流程图;
22.图2为本发明实施例的一种视频轮播切换终端的示意图;
23.图3为本发明实施例的一种视频轮播切换方法的循环切换流程图;
24.图4为本发明实施例的一种视频轮播切换方法的移动动画播放流程图;
25.图5为本发明实施例的一种视频轮播切换方法的视频资源管理流程图。
具体实施方式
26.为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
27.请参照图1、图3至图5,本发明实施例提供了一种视频轮播切换方法,包括步骤:
28.预先设置第一预设个数的视频节点和第二预设个数的节点容器,所述第二预设个数小于所述第一预设个数;
29.在每一个所述节点容器中依次添加一个所述视频节点,加载并依次播放所述节点容器中所述视频节点对应的节点视频;
30.获取滑动所述视频节点的滑动距离,判断所述滑动距离是否大于阈值,若是,则将滑动后选中的视频节点作为当前节点,若所述节点容器中不存在所述当前节点,则将所述节点容器中距离所述当前节点的最远的节点视频替换为所述当前节点的节点视频;
31.判断这一批的第一预设个数的视频节点是否均加载并播放完成,若是,则获取下
一批第一预设个数的视频节点,将新获取的视频节点添加至对应的所述节点容器中并进行加载播放。
32.从上述描述可知,本发明的有益效果在于:预先设置第一预设个数的视频节点和第二预设个数的节点容器,在节点容器中依次添加视频节点,加载并依次播放视频节点对应的节点视频;通过限制节点容器的数量并动态替换节点容器中的节点,能够通过节点容器循环播放节点容器中的视频内容,不需要频繁地创建和回收节点对象,提高视频播放流畅度,并且便于快速查看最近历史节点的视频内容;当第一预设个数的视频节点都加载并播放完毕后,根据第一预设个数获取下一批的视频节点,从而不需要将所有待轮播视频的资源都存储在内存空间,避免占用过多存储空间造成卡顿的情况,提高视频轮播的流畅度。
33.进一步地,所述获取滑动所述视频节点的滑动距离包括:
34.通过滑动所述视频节点实时调整所述视频节点的位置;
35.在滑动结束时,根据滑动的初始触摸位置与滑动的结束触摸位置计算滑动距离。
36.由上述描述可知,滑动视频节点的过程中实时调整视频节点的位置,通过滑动过程中的初始触摸位置和结束触摸位置计算滑动距离,能够实现视频节点的实时滑动,保证视频滑动的流畅度。
37.进一步地,所述判断所述滑动距离是否大于阈值,若是,则将滑动后选中的视频节点作为当前节点具体包括:
38.设置滑动动画;
39.判断所述滑动距离是否大于距离阈值,若是,则将滑动后选中的视频节点作为当前节点,增加所述滑动距离直至滑动至所述当前节点的中间位置,并在所述滑动过程中播放所述滑动动画;
40.若否,则减少所述滑动距离直至所有所述视频节点恢复至滑动前的位置,并在所述滑动过程中播放所述滑动动画。
41.由上述描述可知,根据滑动距离判断是否能够切换到下一个视频节点,通过改变滑动距离和播放滑动动画实现连贯的视频切换,提高用户体验。
42.进一步地,所述加载并依次播放所述节点容器中所述视频节点对应的节点视频包括:
43.判断缓存中是否存在所述视频节点对应的节点视频,若是,则从缓存中获取所述节点视频,若否,则从网络中下载所述节点视频;
44.若当前节点的节点视频缓存至预设百分比,则开始播放所述节点视频内容,其余节点容器中的所述节点视频暂停缓存。
45.由上述描述可知,当前节点的节点视频缓冲至预设百分比时即可播放节点视频内容,并且暂停缓存其余节点容器中的节点视频,能够减少缓存压力,保证轮播的流畅性。
46.进一步地,还包括:
47.判断缓存中存储的节点视频数量是否超过数量阈值,若是,则删除所述缓存中最长时间未播放过的节点视频。
48.由上述描述可知,使用最近最远未使用的算法进行缓存管理,能够清理掉最长时间未播放的节点视频,减少缓存压力。
49.请参照图2,本发明另一实施例提供了一种视频轮播切换终端,包括存储器、处理
器以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
50.预先设置第一预设个数的视频节点和第二预设个数的节点容器,所述第二预设个数小于所述第一预设个数;
51.在每一个所述节点容器中依次添加一个所述视频节点,加载并依次播放所述节点容器中所述视频节点对应的节点视频;
52.获取滑动所述视频节点的滑动距离,判断所述滑动距离是否大于阈值,若是,则将滑动后选中的视频节点作为当前节点,若所述节点容器中不存在所述当前节点,则将所述节点容器中距离所述当前节点的最远的节点视频替换为所述当前节点的节点视频;
53.判断这一批的第一预设个数的视频节点是否均加载并播放完成,若是,则获取下一批第一预设个数的视频节点,将新获取的视频节点添加至对应的所述节点容器中并进行加载播放。
54.由上述描述可知,预先设置第一预设个数的视频节点和第二预设个数的节点容器,在节点容器中依次添加视频节点,加载并依次播放视频节点对应的节点视频;通过限制节点容器的数量并动态替换节点容器中的节点,能够通过节点容器循环播放节点容器中的视频内容,不需要频繁地创建和回收节点对象,提高视频播放流畅度,并且便于快速查看最近历史节点的视频内容;当第一预设个数的视频节点都加载并播放完毕后,根据第一预设个数获取下一批的视频节点,从而不需要将所有待轮播视频的资源都存储在内存空间,避免占用过多存储空间造成卡顿的情况,提高视频轮播的流畅度。
55.进一步地,所述获取滑动所述视频节点的滑动距离包括:
56.通过滑动所述视频节点实时调整所述视频节点的位置;
57.在滑动结束时,根据滑动的初始触摸位置与滑动的结束触摸位置计算滑动距离。
58.由上述描述可知,滑动视频节点的过程中实时调整视频节点的位置,通过滑动过程中的初始触摸位置和结束触摸位置计算滑动距离,能够实现视频节点的实时滑动,保证视频滑动的流畅度。
59.进一步地,所述判断所述滑动距离是否大于阈值,若是,则将滑动后选中的视频节点作为当前节点具体包括:
60.设置滑动动画;
61.判断所述滑动距离是否大于距离阈值,若是,则将滑动后选中的视频节点作为当前节点,增加所述滑动距离直至滑动至所述当前节点的中间位置,并在所述滑动过程中播放所述滑动动画;
62.若否,则减少所述滑动距离直至所有所述视频节点恢复至滑动前的位置,并在所述滑动过程中播放所述滑动动画。
63.由上述描述可知,根据滑动距离判断是否能够切换到下一个视频节点,通过改变滑动距离和播放滑动动画实现连贯的视频切换,提高用户体验。
64.进一步地,所述加载并依次播放所述节点容器中所述视频节点对应的节点视频包括:
65.判断缓存中是否存在所述视频节点对应的节点视频,若是,则从缓存中获取所述节点视频,若否,则从网络中下载所述节点视频;
66.若当前节点的节点视频缓存至预设百分比,则开始播放所述节点视频内容,其余节点容器中的所述节点视频暂停缓存。
67.由上述描述可知,当前节点的节点视频缓冲至预设百分比时即可播放节点视频内容,并且暂停缓存其余节点容器中的节点视频,能够减少缓存压力,保证轮播的流畅性。
68.进一步地,还包括:
69.判断缓存中存储的节点视频数量是否超过数量阈值,若是,则删除所述缓存中最长时间未播放过的节点视频。
70.由上述描述可知,使用最近最远未使用的算法进行缓存管理,能够清理掉最长时间未播放的节点视频,减少缓存压力。
71.本发明上述的一种视频轮播切换方法及终端,适用于所有视频轮播切换的产品,能够提高视频轮播的流畅度,以下通过具体实施方式进行说明:
72.实施例一
73.请参照图1、图3至图5,一种视频轮播切换方法,包括步骤:
74.s1、预先设置第一预设个数的视频节点和第二预设个数的节点容器,所述第二预设个数小于所述第一预设个数。
75.具体的,在本实施例中,预先设置5个视频节点和3个节点容器。
76.s2、在每一个所述节点容器中依次添加一个所述视频节点,加载并依次播放所述节点容器中所述视频节点对应的节点视频。
77.其中,所述加载并依次播放所述节点容器中所述视频节点对应的节点视频包括:
78.判断缓存中是否存在所述视频节点对应的节点视频,若是,则从缓存中获取所述节点视频,若否,则从网络中下载所述节点视频;
79.若当前节点的节点视频缓存至预设百分比,则开始播放所述节点视频内容,其余节点容器中的所述节点视频暂停缓存。
80.具体的,当用户开始查看视频时,进入播放页,预先加载3个子节点容器,容器内根据视频节点顺序依次预先缓存加载视频节点对应的视频内容,等待当前显示节点容器中的视频缓存到可播放的百分比后开始自动播放。优先缓存当前节点的视频,等待当前节点可播放后开始缓存剩余节点的视频。
81.获取视频资源时,通过视频管理从本地缓存中获取,如果本地缓存中有该视频存在时则直接加载到内存,否则再从网络中获取视频资源。
82.s3、获取滑动所述视频节点的滑动距离,判断所述滑动距离是否大于阈值,若是,则将滑动后选中的视频节点作为当前节点,若所述节点容器中不存在所述当前节点,则将所述节点容器中距离所述当前节点的最远的节点视频替换为所述当前节点的节点视频。
83.其中,所述获取滑动所述视频节点的滑动距离包括:
84.通过滑动所述视频节点实时调整所述视频节点的位置;
85.在滑动结束时,根据滑动的初始触摸位置与滑动的结束触摸位置计算滑动距离。
86.具体的,请参照图3,在循环切换模块中创建节点容器,每个节点容器中可单独显示视频的内容,当用户上下滑动屏幕时,主动更新所有节点的y轴,根据用户初始触摸的位置与当前触摸的位置计算滑动距离,通过该距离赋予给当前视频列表下的所有节点的y轴进行差值计算,展现出当前所有视频节点根据用户触摸位置而产生的滑动现象。
87.其中,所述判断所述滑动距离是否大于阈值,若是,则将滑动后选中的视频节点作为当前节点具体包括:
88.设置滑动动画;
89.判断所述滑动距离是否大于距离阈值,若是,则将滑动后选中的视频节点作为当前节点,增加所述滑动距离直至滑动至所述当前节点的中间位置,并在所述滑动过程中播放所述滑动动画;
90.若否,则减少所述滑动距离直至所有所述视频节点恢复至滑动前的位置,并在所述滑动过程中播放所述滑动动画。
91.具体的,请参照图3和图4,当用户停止滑动时,根据滑动的距离判断是否达到切换下一个节点的显示,如果滑动距离小于当前节点容器的高度的二分之一,则还原所有的节点;在移动模块中主要控制视频列表中的所有节点的移动动画,通过设置节点的位置,根据用户滑动距离更新节点位置展示出视频列表滑动的现象,在当前显示的视频列表中可以设置5个节点,少量的节点有助于快速更新所有节点的位置,避免造成大量的计算,移动完成后再通过数据处理替换掉未显示的节点内的视频,以及通过动画的播放让用户感受到流畅滑动的体验,当用户触摸结束时,触摸距离够大则切换到下一个视频,切换下一个视频时设置0.25s的滑动动画;距离不够时恢复至原来位置,也需要进行滑动动画的播放,这样可以让用户视觉上有连贯的体验。
92.将滑动后选中的视频节点作为当前节点,若所述节点容器中不存在所述当前节点,则将所述节点容器中距离所述当前节点的最远的节点视频替换为所述当前节点的节点视频。
93.具体的,如果用户是向上滑动并将滑动后选中的视频节点作为当前节点,则判断节点容器中是否存在所述当前节点,若存在则不修改节点容器中的节点,若不存在则将节点容器中距离当前节点的最远的节点视频替换为所述当前节点的节点视频,例如当前节点为第三个视频节点,向上滚动完成后当前节点变更为第四个视频节点,滑动完成后将第一个视频节点的位置替换为第四个视频节点,相应的将节点内的视频通过数据处理进行替换;如果用户是向下滑动,则将第四个视频节点重新设置替换为第一个视频节点,节点内视频数据处理与向上滑动处理相同;如此设置完成后即可实现视频循环轮播,减少大量节点的重复创建与销毁。
94.s4、判断这一批的第一预设个数的视频节点是否均加载并播放完成,若是,则获取下一批第一预设个数的视频节点,将新获取的视频节点添加至对应的所述节点容器中并进行加载播放。
95.具体的,只有在当前循环轮播的视频全部加载并播放完成后,再继续根据第一预设个数加载后续的视频,否则不加载新的视频,如果未设置第一预设个数,则需要一次性加载所有的视频或者每次只加载一个视频,一次性加载所有视频占用网络高,并且视频占用内存多容易造成内存瓶颈;只加载一个视频则每次播放时都需要去请求视频,网络波动大情况时容易造成视频卡顿情况,都会造成不好的用户体验。
96.实施例二
97.请参照图5,本实施例与实施例一的不同之处在于,进一步限定了如何存储加载后的视频,具体的:
98.判断缓存中存储的节点视频数量是否超过数量阈值,若是,则删除所述缓存中最长时间未播放过的节点视频。
99.在本实施例中,视频加载时可以边播放边缓存到本地上。当前同时缓存的视频数量超过阈值时,根据判断视频距离上次播放的时间是不是所有视频中最久的,如果是最久的,则从当前内存中清理掉该视频,等到下次要用到时再提前预加载。
100.实施例三
101.请参照图2,一种视频轮播切换终端,包括存储器、处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例一或实施例二的视频轮播切换方法的各个步骤。
102.综上所述,本发明提供的一种视频轮播切换方法及终端,预先设置第一预设个数的视频节点和第二预设个数的节点容器,在节点容器中依次添加视频节点,加载并依次播放视频节点对应的节点视频,其中在当前节点缓存到预设百分比并开始播放时才进行其余节点的缓存,减轻了缓存压力,有利于流场度的提升;通过限制节点容器的数量并动态替换节点容器中的节点,能够通过节点容器循环播放节点容器中的视频内容,不需要频繁地创建和回收节点对象,提高视频播放流畅度,并且便于快速查看最近历史节点的视频内容;在滑动结束后,根据滑动距离的大小判断需要切换至下一个视频节点还是还原至滑动前的节点位置,在移动的过程中添加滑动动画,使得滑动过程流畅地进行,提高用户的体验感;当第一预设个数的视频节点都加载并播放完毕后,根据第一预设个数获取下一批的视频节点,从而不需要将所有待轮播视频的资源都存储在内存空间,避免占用过多存储空间造成卡顿的情况,提高视频轮播的流畅度。
103.以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献