1.一种Android清晰度切换方法,其特征在于,包括:
当监听到清晰度切换事件时,获取TextureView对象所播放码流信息的当前帧数据,构建加载页面定时器,确定加载页面定时器的时间周期,并根据所述时间周期设置加载页面定时器;
在所述加载页面定时器超时之前,将获取的当前帧数据进行高斯模糊处理,得到当前帧数据的高斯模糊数据,将所述高斯模糊数据设置到布局参数与TextureView对象的布局参数相同的图像视图中,将设置高斯模糊数据后的图像视图添加至TextureView对象顶层,并获取切换清晰度后的码流信息;
当获取到切换清晰度后的码流信息时,判断所述加载页面定时器是否已经超时;
若否,则停止所述加载页面定时器,将所述图像视图从TextureView对象中移除,并控制TextureView对象播放切换清晰度后的码流信息;
若是,则关闭加载页面定时器超时时将图像视图从TextureView对象中移除后所开启的加载页面,并控制TextureView对象播放切换清晰度后的码流信息。
2.根据权利要求1所述的方法,其特征在于,所述确定加载页面定时器的时间周期,包括:根据监听到清晰度切换事件时的CPU剩余率、内存剩余率以及网速剩余率确定加载页面定时器的时间周期。
3.根据权利要求2所述的方法,其特征在于,所述根据监听到清晰度切换事件时的CPU剩余率、内存剩余率以及网速剩余率确定加载页面定时器的时间周期,包括:当监听到清晰度切换事件时,调用CPU使用率获取方法获取CPU使用率,根据所述CPU使用率确定CPU剩余率;
调用ActivityManager对象的内存信息对象获取方法获取内存信息对象,调用内存信息对象的可用内存获取方法获取可用内存,调用内存信息对象的总内存获取方法获取总内存,根据所述可用内存以及总内存确定内存剩余率;
获取当前网速,调用connManager对象的网络类型对象获取方法获取网络类型对象,根据预设的网络类型对象-带宽映射关系获取所述网络类型对象对应的带宽,根据所述当前网速以及所述带宽确定网络剩余率;
根据所述CPU剩余率、内存剩余率以及网速剩余率确定加载页面定时器的时间周期。
4.根据权利要求3所述的方法,其特征在于,所述根据所述CPU剩余率、内存剩余率以及网速剩余率确定加载页面定时器的时间周期,包括:根据公式T=K/(C*M*N),确定加载页面定时器的时间周期;
其中,T为加载页面定时器的时间周期,K为调节参数,C为CPU剩余率,M为内存剩余率,N为网速剩余率。
5.根据权利要求1所述的方法,其特征在于,所述将获取的当前帧数据进行高斯模糊处理,得到当前帧数据的高斯模糊数据,将所述高斯模糊数据设置到布局参数与TextureView对象的布局参数相同的图像视图中,将设置高斯模糊数据后的图像视图添加至TextureView对象顶层,包括:调用高斯模糊管理器对象构建方法构建高斯模糊管理器对象;
调用高斯模糊管理器对象的高斯算法对所述当前帧数据进行高斯模糊处理,得到当前帧数据的高斯模糊数据;
调用图像视图构建方法构建图像视图,根据所述TextureView对象的布局参数设置所述图像视图的布局参数;
调用图像视图的图像设置方法,将所述高斯模糊数据设置到图像视图中;
调用TextureView对象的视图添加方法,将设置有所述高斯模糊数据的图像视图添加至TextureView对象顶层。
6.根据权利要求1所述的方法,其特征在于,所述获取切换清晰度后的码流信息,包括:获取切换清晰度后的码流信息对应的统一资源定位符URL;
通过调用URL设置方法,将切换清晰度后的码流信息对应的URL设置到TextureView对象对应的播放器对象中;
TextureView对象对应的播放器对象接收所述切换清晰度后的码流信息。
7.根据权利要求1所述的方法,其特征在于,在所述监听到清晰度切换事件之前,包括:在页面布局文件中定义TextureView类的视图承载控件,并设置所述视图承载控件的布局参数及ID信息;
根据所述视图承载控件的ID信息调用视图承载控件获取方法,获取视图承载控件,并将获取的视图承载控件标记为TextureView对象;
通过播放器对象的视图绑定方法,将所述TextureView对象与播放器对象进行绑定;其中,TextureView对象播放所绑定的播放器对象获取的码流信息。
8.一种Android清晰度切换装置,其特征在于,包括:
清晰度切换事件监听模块,用于当监听到清晰度切换事件时,获取TextureView对象所播放码流信息的当前帧数据,构建加载页面定时器,确定加载页面定时器的时间周期,并根据所述时间周期设置加载页面定时器;
高斯模糊数据设置模块,在所述加载页面定时器超时之前,将获取的当前帧数据进行高斯模糊处理,得到当前帧数据的高斯模糊数据,将所述高斯模糊数据设置到布局参数与TextureView对象的布局参数相同的图像视图中,将设置高斯模糊数据后的图像视图添加至TextureView对象顶层,并获取切换清晰度后的码流信息;
清晰度切换模块,当获取到切换清晰度后的码流信息时,判断所述加载页面定时器是否已经超时;
若否,则停止所述加载页面定时器,将所述图像视图从TextureView对象中移除,并控制TextureView对象播放切换清晰度后的码流信息;
若是,则关闭加载页面定时器超时时将图像视图从TextureView对象中移除后所开启的加载页面,并控制TextureView对象播放切换清晰度后的码流信息。
9.一种终端,其特征在于,所述终端包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的Android清晰度切换方法。
10.一种可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的Android清晰度切换方法。