CN109144612A - Android清晰度切换方法、装置、终端及可读介质 - Google Patents
Android清晰度切换方法、装置、终端及可读介质 Download PDFInfo
- Publication number
- CN109144612A CN109144612A CN201811020653.0A CN201811020653A CN109144612A CN 109144612 A CN109144612 A CN 109144612A CN 201811020653 A CN201811020653 A CN 201811020653A CN 109144612 A CN109144612 A CN 109144612A
- Authority
- CN
- China
- Prior art keywords
- textureview
- clarity
- switching
- gaussian blur
- image views
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例公开了一种Android清晰度切换方法、装置、终端及可读介质,其中该方法包括:当监听到清晰度切换事件时,获取TextureView对象所播放码流信息的当前帧数据;调用高斯模糊管理器对象的高斯算法对当前帧数据进行高斯模糊处理,得到当前帧数据的高斯模糊数据;调用图像视图构建方法构建图像视图,并设置图像视图的布局参数,将高斯模糊数据设置到图像视图中,并将设置高斯模糊数据后的图像视图添加至TextureView对象顶层;于获取到切换清晰度后的码流信息时,将图像视图从TextureView对象中移除,并控制TextureView对象播放切换清晰度后的码流信息。本发明实施例提供的Android清晰度切换方法、装置、终端及可读介质,实现了用户感官上清晰度的无缝切换,提高用户的清晰度切换体验。
Description
技术领域
本发明实施例涉及计算机技术,尤其涉及一种Android清晰度切换方法、装置、终端及可读介质。
背景技术
利用Android终端拉取网络音视频资源(例如观看直播)时,用户可以根据需求进行清晰度切换。通常清晰度切换方法为,通过HTTP请求获取切换后清晰度的码流地址,并通过访问该码流地址获取相应的码流信息。现有的获取码流信息过程中,播放器呈现的视图通常为黑屏页面或加载页面(又为loading页面),使用户明显感觉到播放切换前码流信息与播放切换后码流信息之间存在一个断开时间,用户的清晰度切换体验较差。
发明内容
有鉴于此,本发明实施例提供了一种Android清晰度切换方法、装置、终端及可读介质,实现了用户感官上清晰度的无缝切换,提高用户的清晰度切换体验。
第一方面,本发明实施例提供了一种Android清晰度切换方法,包括:
当监听到清晰度切换事件时,调用TextureView对象的帧数据获取方法获取TextureView对象所播放码流信息的当前帧数据;
调用高斯模糊管理器对象构建方法构建高斯模糊管理器对象,调用高斯模糊管理器对象的高斯算法对所述当前帧数据进行高斯模糊处理,得到当前帧数据的高斯模糊数据;
调用图像视图构建方法构建图像视图,根据所述TextureView对象的布局参数设置所述图像视图的布局参数,将所述高斯模糊数据设置到图像视图中,并将设置高斯模糊数据后的图像视图添加至TextureView对象顶层;
获取切换清晰度后的码流信息,并于获取到切换清晰度后的码流信息时,将所述图像视图从TextureView对象中移除,并控制TextureView对象播放切换清晰度后的码流信息。
可选的,所述监听到清晰度切换事件,包括:
通过预先设置的清晰度切换按钮监听器,监听到清晰度切换按钮发生点击事件。
可选的,所述根据所述TextureView对象的布局参数设置所述图像视图的布局参数,包括:
调用布局参数对象获取方法,获取布局参数对象;
根据所述TextureView对象的布局参数对所述布局参数对象进行赋值;
根据赋值后的布局参数对象设置所述图像视图的布局参数。
可选的,所述将所述高斯模糊数据设置到图像视图中,并将设置高斯模糊数据后的图像视图添加至TextureView对象顶层,包括:
调用图像视图的图像设置方法,将所述高斯模糊数据设置到图像视图中;
调用TextureView对象的视图添加方法,将设置高斯模糊数据后的图像视图添加至TextureView对象顶层。
可选的,所述获取切换清晰度后的码流信息,包括:
获取切换清晰度后的码流信息对应的统一资源定位符URL;
通过调用URL设置方法,将切换清晰度后的码流信息对应的URL设置到TextureView对象对应的播放器对象中;
TextureView对象对应的播放器对象接收所述切换清晰度后的码流信息。
可选的,所述将所述图像视图从TextureView对象中移除,包括:
调用TextureView对象的视图移除方法,将所述图像视图从TextureView对象中移除。
可选的,在所述监听到清晰度切换事件之前,包括:
在页面布局文件中定义TextureView类的视图承载控件,并设置所述视图承载控件的布局参数及ID信息;
根据所述视图承载控件的ID信息调用视图承载控件获取方法,获取视图承载控件,并将获取的视图承载控件标记为TextureView对象;
通过播放器对象的视图绑定方法,将所述TextureView对象与播放器对象进行绑定;其中,TextureView对象播放所绑定的播放器对象获取的码流信息。
第二方面,本发明实施例提供了一种Android清晰度切换装置,包括:
当前帧数据获取模块,用于当监听到清晰度切换事件时,调用TextureView对象的帧数据获取方法获取TextureView对象所播放码流信息的当前帧数据;
高斯模糊数据确定模块,用于调用高斯模糊管理器对象构建方法构建高斯模糊管理器对象,调用高斯模糊管理器对象的高斯算法对所述当前帧数据进行高斯模糊处理,得到当前帧数据的高斯模糊数据;
图像视图添加模块,用于调用图像视图构建方法构建图像视图,根据所述TextureView对象的布局参数设置所述图像视图的布局参数,将所述高斯模糊数据设置到图像视图中,并将设置高斯模糊数据后的图像视图添加至TextureView对象顶层;
清晰度切换模块,用于获取切换清晰度后的码流信息,并于获取到切换清晰度后的码流信息时,将所述图像视图从TextureView对象中移除,并控制TextureView对象播放切换清晰度后的码流信息。
第三方面,本发明实施例提供了一种终端,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任一实施例所述的Android清晰度切换方法。
第四方面,本发明实施例提供了一种可读介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任一实施例所述的Android清晰度切换方法。
本发明实施例提供的一种Android清晰度切换方法、装置、终端及可读介质,当监听到清晰度切换事件时,获取TextureView对象所播放码流信息的当前帧数据;调用高斯模糊管理器对象的高斯算法对当前帧数据进行高斯模糊处理,得到当前帧数据的高斯模糊数据;调用图像视图构建方法构建图像视图,根据TextureView对象的布局参数设置图像视图的布局参数,将高斯模糊数据设置到图像视图中,并将设置高斯模糊数据后的图像视图添加至TextureView对象顶层;于获取到切换清晰度后的码流信息时,将图像视图从TextureView对象中移除,并控制TextureView对象播放切换清晰度后的码流信息。可以理解为,在获取切换清晰度后的码流信息过程中,播放器呈现的视图是设置有切换清晰度之前的码流信息的最后一帧数据的高斯模糊数据的图像视图,使用户感官体验为切换清晰度前的码流信息还未停止;在获取到切换清晰度后的码流信息之后,将设置有高斯模糊数据的图像视图移除,并控制TextureView对象播放切换清晰度之后的码流信息。从而实现了用户感官上清晰度的无缝切换,提高用户的清晰度切换体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种Android清晰度切换方法流程图;
图2是本发明实施例二提供的一种Android清晰度切换装置结构示意图;
图3是本发明实施例三提供的一种终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下将参照本发明实施例中的附图,通过实施方式清楚、完整地描述本发明的技术方案,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1是本发明实施例一提供的一种Android清晰度切换方法流程图,本实施例可适用于Android清晰度切换的情况,该方法可以由终端实现,具体可通过终端中的软件和/或硬件来实施。
参见图1,该Android清晰度切换方法包括如下步骤:
S110、当监听到清晰度切换事件时,调用TextureView对象的帧数据获取方法获取TextureView对象所播放码流信息的当前帧数据。
其中,利用Android终端拉取网络音视频资源(例如观看直播)时,用户可以根据需求进行清晰度切换,具体可以通过点击播放器对象对应的清晰度按钮控件进行清晰度的切换。其中,TextureView类的视图承载控件属于播放器的视图承载控件中的一种。其中,播放器对象可以在设置统一资源定位符URL之后,接收并解析所设置URL对应的码流信息,并可以将解析后的码流信息通过播放器对象对应的TextureView对象进行播放。
其中,TextureView对象的帧数据获取方法,具体可以是:
mTextureView.getBitmap();
其中,mTextureView为TextureView对象名称,用以表示TextureView对象,且TextureView对象名称并不限于mTextureView;其中,通过TextureView对象的get方法可以获取TextureView对象当前播放码流信息的帧数据;其中,获取的TextureView对象所播放码流信息的当前帧数据为BitMap类的位图数据;其中,还可以将获取的当前帧数据命名为mBitMap,用以表示获取到的当前帧数据,且当前帧数据名称并不限于mBitMap。
可选的,监听到清晰度切换事件,包括:
通过预先设置的清晰度切换按钮监听器,监听到清晰度切换按钮发生点击事件。
其中,可以通过点击播放器对象对应的清晰度切换按钮控件进行音视频资源清晰度的切换;其中,可以在清晰度切换按钮控件上添加监听器,用以监听清晰度切换按钮是否发生了点击事件。
其中,在清晰度切换按钮控件上添加监听器的方法,具体可以是:
btn.setOnClickListener(myListener);
其中,btn为清晰度切换按钮控件的名称,用以表示清晰度切换按钮,且清晰度切换按钮的名称并不限于btn;其中,通过setOnClickListener方法可以设置能够监听清晰度切换按钮控件的点击事件的监控器;其中,当监听器监听到清晰度切换按钮的点击事件时,可以主动回调myListener方法;其中,myListener方法用于完成清晰度切换后码流信息的获取。
通过监听清晰度切换事件,可以在清晰度切换时获取当前正在播放的码流信息的帧数据,也就是清晰度切换前码流信息的最后一帧数据。通过获取当前帧数据,可以为播放器呈现当前帧数据的高斯模糊数据奠定基础。
S120、调用高斯模糊管理器对象构建方法构建高斯模糊管理器对象,调用高斯模糊管理器对象的高斯算法对当前帧数据进行高斯模糊处理,得到当前帧数据的高斯模糊数据。
其中,高斯模糊管理器对象构建方法,具体可以是:
StackBlurManager mStackBlurManager=new StackBlurManager(mBitMap);
其中,StackBlurManager表示高斯模糊管理器类;其中,mStackBlurManager为高斯模糊管理器对象的名称,用以表示高斯模糊管理器对象,且高斯模糊管理器对象的名称并不限于mStackBlurManager;其中,通过new的方法可以新建一个StackBlurManager类型的mStackBlurManager对象;其中,mBitMap表示获取到的当前帧数据,为mStackBlurManager对象的入参参数,可以理解为将当前帧数据传递到高斯模糊管理器对象中,以使高斯模糊管理器对象可以对该当前帧数据进行处理。
其中,高斯模糊管理器对象的高斯算法,具体可以是:
mstackBlurManager.process();
其中,mStackBlurManager用以表示高斯模糊管理器对象;其中,通过mStackBlurManager的process方法,可以将mStackBlurManager对象构建时传入的入参参数mBitMap进行高斯模糊处理,并返回高斯模糊处理后的mBitMap对象,可以将高斯模糊处理后的mBitMap对象命名为mBlurBitMap,用以表示前帧数据的高斯模糊数据,且高斯模糊数据的名称并不限于mBlurBitMap。
通过构建高斯模糊处理器对象,可以将传递到高斯模糊管理器对象中的当前帧数据进行高斯模糊处理,从而得到当前帧数据的高斯模糊数据,为播放器呈现当前帧数据的高斯模糊数据奠定基础。
S130、调用图像视图构建方法构建图像视图,根据TextureView对象的布局参数设置图像视图的布局参数,将高斯模糊数据设置到图像视图中,并将设置高斯模糊数据后的图像视图添加至TextureView对象顶层。
其中,图像视图构建方法,具体可以是:
ImageView mImageView=new ImageView();
其中,mImageView为图像视图的名称,可以表示图像视图,且图像视图名称不限于mImageView;其中,通过new方法可以新建一个ImageView类型的图像视图。
其中,布局参数可以包括高度和宽度等信息;其中,可以将图像视图的布局参数设置为与TextureView对象的布局参数相同,使得图像视图添加到TextureView对象顶层时可以完美覆盖TextureView对象。从而在图像视图设置好斯模糊数据并添加到TextureView对象时,播放器视图只呈现设置有高斯模糊数据的图像视图,使用户感官体验为切换清晰度前的码流信息还未停止。
可选的,根据TextureView对象的布局参数设置图像视图的布局参数,包括:
调用布局参数对象获取方法,获取布局参数对象;根据TextureView对象的布局参数对布局参数对象进行赋值;根据赋值后的布局参数对象设置图像视图的布局参数。
其中,布局参数对象获取方法,具体可以是:
ViewGroup.LayoutParams params=new ViewGroup.LayoutParams();
其中,params为布局参数对象的名称,可以代表ViewGroup.LayoutParams类型的布局参数对象,且布局参数对象的名称并不限于params;其中,通过new的方法即可新建一个ViewGroup.LayoutParams类型的布局参数对象。
其中,根据TextureView对象的布局参数对布局参数对象进行赋值,具体可以是:
params.width=mTextureView.getWidth();
params.height=mTextureView.getHeight();
其中,mTextureView可以表示TextureView对象;其中,通过mTextureView的get方法可以获取到mTextureView的宽度Width以及高度Height的数值;其中,通过将mTextureView的宽度Width赋值给params.width,通过将mTextureView的高度Height赋值给params.Height,即可以完成对布局参数对象的赋值。
其中,根据赋值后的布局参数对象设置图像视图的布局参数,具体可以是:
mImageView.setLayoutParams(params);
其中,mImageView可以表示图像视图;其中,通过setLayoutParams方法可以分别根据赋值后的布局参数对象params的params.width以及params.Height设置图像视图mImageView的宽度以及高度,即实现了图像视图布局参数的设置。
布局参数对象可以作为TextureView对象的布局参数与图像视图的布局参数的纽带,提高了图像视图的布局参数的设置效率。且将图像视图的布局参数设置为与TextureView对象的布局参数相同,使得图像视图添加到TextureView对象顶层时可以完美覆盖TextureView对象。
可选的,将高斯模糊数据设置到图像视图中,并将设置高斯模糊数据后的图像视图添加至TextureView对象顶层,包括:
调用图像视图的图像设置方法,将高斯模糊数据设置到图像视图中;调用TextureView对象的视图添加方法,将设置高斯模糊数据后的图像视图添加至TextureView对象顶层。
其中,图像视图的图像设置方法,具体可以是:
mImageView.setImage(mBlurBitMap);
其中,mImageView可以表示图像视图,mBlurBitMap可以表示前帧数据的高斯模糊数据;其中,通过setImage方法可以将高斯模糊数据设置到图像视图中。
其中,TextureView对象的视图添加方法,具体可以是:
mTextureView.addView(mImageView);
其中,可以表示TextureView对象,mImageView可以表示设置高斯模糊数据后的图像视图;其中,通过addView方法可以将设置高斯模糊数据后的图像视图添加至TextureView对象顶层。
通过将设置高斯模糊数据后的图像视图添加至TextureView对象顶层,可以在获取切换清晰度后的码流信息过程中,播放器呈现的视图是设置有切换清晰度之前的码流信息的最后一帧数据的高斯模糊数据的图像视图,使用户感官体验为切换清晰度前的码流信息还未停止。
S140、获取切换清晰度后的码流信息,并于获取到切换清晰度后的码流信息时,将图像视图从TextureView对象中移除,并控制TextureView对象播放切换清晰度后的码流信息。
其中,在播放器获取到切换清晰度后的码流信息时,将设置高斯模糊数据后的图像视图从TextureView对象中移除,并且将播放器获取的码流信息在TextureView对象中播放。实现了用户感官上体验为切换清晰度前的码流信息和切换清晰度后的码流信息实现了无缝切换,从而提高用户的清晰度切换体验。
可选的,获取切换清晰度后的码流信息,包括:
获取切换清晰度后的码流信息对应的统一资源定位符URL;通过调用URL设置方法,将切换清晰度后的码流信息对应的URL设置到TextureView对象对应的播放器对象中;TextureView对象对应的播放器对象接收切换清晰度后的码流信息。
其中,可以在点击清晰度切换按钮控件后获取到清晰度切换后码流信息对应的URL,还可以通过其他方式获取到清晰度切换后码流信息对应的URL;其中,URL设置方法具体可以是mMediaPlayer.setUrl()方法,其中mMediaPlayer可以表示播放器对象,其中通过setUrl方法可以将清晰度切换后码流信息对应的URL设置到播放器对象中;其中,播放器对象可以通过访问URL下载码流信息,并对码流信息进行存储,从而实现接收切换清晰度后的码流信息。
可选的,将图像视图从TextureView对象中移除,包括:
调用TextureView对象的视图移除方法,将图像视图从TextureView对象中移除。
其中,TextureView对象的视图移除方法,具体可以是:
mTextureView.removeView(mImageView);
其中,mTextureView可以表示TextureView对象,mImageView可以表示设置高斯模糊数据后的图像视图;其中,通过removeView方法可以将设置高斯模糊数据后的图像视图从TextureView对象中移除。
可选的,在监听到清晰度切换事件之前,包括:
在页面布局文件中定义TextureView类的视图承载控件,并设置视图承载控件的布局参数及ID信息;根据视图承载控件的ID信息调用视图承载控件获取方法,获取视图承载控件,并将获取的视图承载控件标记为TextureView对象;通过播放器对象的视图绑定方法,将TextureView对象与播放器对象进行绑定;其中,TextureView对象播放所绑定的播放器对象获取的码流信息。
其中,在页面布局文件中定义TextureView类的视图承载控件,具体可以是<TextureView></TextureView>,通过该标签就可以在XML布局文件中声明一个TextureView类的视图承载控件。
其中,视图承载控件的布局参数包括视图承载控件的宽度及高度信息等,具体的可以通过在视图承载控件中写入语句android:width=100dp以及android:height=80dp来分别定义视图承载控件的宽度和高度;其中,100以及80可以表示视图承载控件宽度和高度的数值,且这两个数值可以根据实际需求进行更改;其中,dp可以理解为虚拟像素px,在不同的像素密度的设备上会自动适配,比如:在320×480分辨率,像素密度为160的设备上,1dp=1px;在480×800分辨率,像素密度为240的设备上,1dp=1.5px;其中,dp与px计算公式:1dp*像素密度/160=实际像素数。其中,视图承载控件的布局参数可以继承到TextureView对象中去。
其中,视图承载控件可以通过android:id=”@+id/texture_view”来指定ID信息,且视图承载控件的ID信息为代码层与视图层构建联系的一个纽带。其中,根据视图承载控件的ID信息调用视图承载控件获取方法,具体可以是findViewById(R.id.texture_view),通过查找视图承载控件的ID信息可以获取到视图承载控件,并且可以将获取到的视图承载控件标记为TextureView对象。
其中,播放器对象的视图绑定方法,具体可以是mMediaPlayer.bindView(mTextureView),其中mMediaPlayer可以表示播放器对象,其中通过bindView方法可以将TextureView对象mTextureView绑定到到播放器对象mMediaPlayer中,以使TextureView对象可以播放mMediaPlayer获取的码流信息。
通过将获取的预先设置的TextureView对象与播放器对象绑定,可以在TextureView对象上播放帧数据,从而为播放器进行清晰度切换提供前提条件。
本实施例提供的Android清晰度切换方法,当监听到清晰度切换事件时,获取TextureView对象所播放码流信息的当前帧数据;调用高斯模糊管理器对象的高斯算法对当前帧数据进行高斯模糊处理,得到当前帧数据的高斯模糊数据;调用图像视图构建方法构建图像视图,根据TextureView对象的布局参数设置图像视图的布局参数,将高斯模糊数据设置到图像视图中,并将设置高斯模糊数据后的图像视图添加至TextureView对象顶层;于获取到切换清晰度后的码流信息时,将图像视图从TextureView对象中移除,并控制TextureView对象播放切换清晰度后的码流信息。可以理解为,在获取切换清晰度后的码流信息过程中,播放器呈现的视图是设置有切换清晰度之前的码流信息的最后一帧数据的高斯模糊数据的图像视图,使用户感官体验为切换清晰度前的码流信息还未停止;在获取到切换清晰度后的码流信息之后,将设置有高斯模糊数据的图像视图移除,并控制TextureView对象播放切换清晰度之后的码流信息。从而实现了用户感官上清晰度的无缝切换,提高用户的清晰度切换体验。
实施例二
图2是本发明实施例二提供的一种Android清晰度切换装置结构示意图,本实施例可适用于Android清晰度切换的情况。
参见图2,本实施例中Android清晰度切换装置,包括:
当前帧数据获取模块210,用于当监听到清晰度切换事件时,调用TextureView对象的帧数据获取方法获取TextureView对象所播放码流信息的当前帧数据;
高斯模糊数据确定模块220,用于调用高斯模糊管理器对象构建方法构建高斯模糊管理器对象,调用高斯模糊管理器对象的高斯算法对当前帧数据进行高斯模糊处理,得到当前帧数据的高斯模糊数据;
图像视图添加模块230,用于调用图像视图构建方法构建图像视图,根据TextureView对象的布局参数设置图像视图的布局参数,将高斯模糊数据设置到图像视图中,并将设置高斯模糊数据后的图像视图添加至TextureView对象顶层;
清晰度切换模块240,用于获取切换清晰度后的码流信息,并于获取到切换清晰度后的码流信息时,将图像视图从TextureView对象中移除,并控制TextureView对象播放切换清晰度后的码流信息。
可选的,当前帧数据获取模块210,包括:
清晰度切换监听子模块,用于通过预先设置的清晰度切换按钮监听器,监听到清晰度切换按钮发生点击事件。
可选的,图像视图添加模块230,包括:
布局参数对象获取子模块,用于调用布局参数对象获取方法,获取布局参数对象;
布局参数对象赋值子模块,用于根据TextureView对象的布局参数对布局参数对象进行赋值;
布局参数设置子模块,用于根据赋值后的布局参数对象设置图像视图的布局参数。
可选的,图像视图添加模块230,还包括:
图像视图设置子模块,用于调用图像视图的图像设置方法,将高斯模糊数据设置到图像视图中;
图像视图添加子模块,用于调用TextureView对象的视图添加方法,将设置高斯模糊数据后的图像视图添加至TextureView对象顶层。
可选的,清晰度切换模块240,包括:
统一资源定位符获取子模块,用于获取切换清晰度后的码流信息对应的统一资源定位符URL;
URL设置子模块,用于通过调用URL设置方法,将切换清晰度后的码流信息对应的URL设置到TextureView对象对应的播放器对象中;
码流信息获取子模块,用于TextureView对象对应的播放器对象接收切换清晰度后的码流信息。
可选的,清晰度切换模块240,还包括:
图像视图移除子模块,用于调用TextureView对象的视图移除方法,将图像视图从TextureView对象中移除。
可选的,Android清晰度切换装置,还包括:
视图承载控件定义模块,用于在页面布局文件中定义TextureView类的视图承载控件,并设置视图承载控件的布局参数及ID信息;
TextureView对象获取模块,用于根据视图承载控件的ID信息调用视图承载控件获取方法,获取视图承载控件,并将获取的视图承载控件标记为TextureView对象;
绑定模块,用于通过播放器对象的视图绑定方法,将TextureView对象与播放器对象进行绑定;其中,TextureView对象播放所绑定的播放器对象获取的码流信息。
本实施例提供的Android清晰度切换装置,与实施例一提出的Android清晰度切换方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见实施例一,并且本实施例与实施例一具有相同的有益效果。
实施例三
本实施例提供了一种终端,可以用于Android清晰度切换的情况。图3是本发明实施例三提供的一种终端的结构示意图。参见图3,该终端包括:
一个或多个处理器310;
存储器320,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器310执行,使得所述一个或多个处理器310实现如实施例一提出的Android清晰度切换方法。
图3中以一个处理器310为例;处理器310和存储器320可以通过总线或其他方式连接,图3中以通过总线连接为例。
存储器320作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的Android清晰度切换方法对应的程序指令/模块。处理器310通过运行存储在存储器320中的软件程序、指令以及模块,从而执行终端的各种功能应用以及数据处理,即实现上述的Android清晰度切换方法。
存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器320可进一步包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本实施例提出的终端与实施例一提出的Android清晰度切换方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见实施例一,并且本实施例与实施例一具有相同的有益效果。
实施例四
本实施例提供一种可读介质,其上存储有计算机程序,该程序被处理器执行时实现如实施例一提出的Android清晰度切换方法。
本实施例提出的可读介质与实施例一提出的Android清晰度切换方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见实施例一,并且本实施例与实施例一具有相同的有益效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种Android清晰度切换方法,其特征在于,包括:
当监听到清晰度切换事件时,调用TextureView对象的帧数据获取方法获取TextureView对象所播放码流信息的当前帧数据;
调用高斯模糊管理器对象构建方法构建高斯模糊管理器对象,调用高斯模糊管理器对象的高斯算法对所述当前帧数据进行高斯模糊处理,得到当前帧数据的高斯模糊数据;
调用图像视图构建方法构建图像视图,根据所述TextureView对象的布局参数设置所述图像视图的布局参数,将所述高斯模糊数据设置到图像视图中,并将设置高斯模糊数据后的图像视图添加至TextureView对象顶层;
获取切换清晰度后的码流信息,并于获取到切换清晰度后的码流信息时,将所述图像视图从TextureView对象中移除,并控制TextureView对象播放切换清晰度后的码流信息。
2.根据权利要求1所述的方法,其特征在于,所述监听到清晰度切换事件,包括:
通过预先设置的清晰度切换按钮监听器,监听到清晰度切换按钮发生点击事件。
3.根据权利要求1所述的方法,其特征在于,所述根据所述TextureView对象的布局参数设置所述图像视图的布局参数,包括:
调用布局参数对象获取方法,获取布局参数对象;
根据所述TextureView对象的布局参数对所述布局参数对象进行赋值;
根据赋值后的布局参数对象设置所述图像视图的布局参数。
4.根据权利要求1所述的方法,其特征在于,所述将所述高斯模糊数据设置到图像视图中,并将设置高斯模糊数据后的图像视图添加至TextureView对象顶层,包括:
调用图像视图的图像设置方法,将所述高斯模糊数据设置到图像视图中;
调用TextureView对象的视图添加方法,将设置高斯模糊数据后的图像视图添加至TextureView对象顶层。
5.根据权利要求1所述的方法,其特征在于,所述获取切换清晰度后的码流信息,包括:
获取切换清晰度后的码流信息对应的统一资源定位符URL;
通过调用URL设置方法,将切换清晰度后的码流信息对应的URL设置到TextureView对象对应的播放器对象中;
TextureView对象对应的播放器对象接收所述切换清晰度后的码流信息。
6.根据权利要求1所述的方法,其特征在于,所述将所述图像视图从TextureView对象中移除,包括:
调用TextureView对象的视图移除方法,将所述图像视图从TextureView对象中移除。
7.根据权利要求1所述的方法,其特征在于,在所述监听到清晰度切换事件之前,包括:
在页面布局文件中定义TextureView类的视图承载控件,并设置所述视图承载控件的布局参数及ID信息;
根据所述视图承载控件的ID信息调用视图承载控件获取方法,获取视图承载控件,并将获取的视图承载控件标记为TextureView对象;
通过播放器对象的视图绑定方法,将所述TextureView对象与播放器对象进行绑定;其中,TextureView对象播放所绑定的播放器对象获取的码流信息。
8.一种Android清晰度切换装置,其特征在于,包括:
当前帧数据获取模块,用于当监听到清晰度切换事件时,调用TextureView对象的帧数据获取方法获取TextureView对象所播放码流信息的当前帧数据;
高斯模糊数据确定模块,用于调用高斯模糊管理器对象构建方法构建高斯模糊管理器对象,调用高斯模糊管理器对象的高斯算法对所述当前帧数据进行高斯模糊处理,得到当前帧数据的高斯模糊数据;
图像视图添加模块,用于调用图像视图构建方法构建图像视图,根据所述TextureView对象的布局参数设置所述图像视图的布局参数,将所述高斯模糊数据设置到图像视图中,并将设置高斯模糊数据后的图像视图添加至TextureView对象顶层;
清晰度切换模块,用于获取切换清晰度后的码流信息,并于获取到切换清晰度后的码流信息时,将所述图像视图从TextureView对象中移除,并控制TextureView对象播放切换清晰度后的码流信息。
9.一种终端,其特征在于,所述终端包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的Android清晰度切换方法。
10.一种可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的Android清晰度切换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811020653.0A CN109144612B (zh) | 2018-09-03 | 2018-09-03 | Android清晰度切换方法、装置、终端及可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811020653.0A CN109144612B (zh) | 2018-09-03 | 2018-09-03 | Android清晰度切换方法、装置、终端及可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109144612A true CN109144612A (zh) | 2019-01-04 |
CN109144612B CN109144612B (zh) | 2021-10-15 |
Family
ID=64826465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811020653.0A Active CN109144612B (zh) | 2018-09-03 | 2018-09-03 | Android清晰度切换方法、装置、终端及可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109144612B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110806912A (zh) * | 2019-10-30 | 2020-02-18 | Oppo广东移动通信有限公司 | 界面处理方法及相关设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140040496A1 (en) * | 2012-08-06 | 2014-02-06 | General Instrument Corporation | On-demand http stream generation |
CN103997680A (zh) * | 2014-06-06 | 2014-08-20 | 北京奇艺世纪科技有限公司 | 一种视频码流的切换方法及装置 |
US20170098464A1 (en) * | 2015-10-02 | 2017-04-06 | Twitter, Inc. | Gapless video looping |
CN107071536A (zh) * | 2017-03-29 | 2017-08-18 | 武汉斗鱼网络科技有限公司 | 用户切换清晰度加载视频流的方法及系统 |
CN107197371A (zh) * | 2016-03-15 | 2017-09-22 | 广州市动景计算机科技有限公司 | 视频清晰度的切换方法及装置 |
CN107801085A (zh) * | 2017-09-30 | 2018-03-13 | 口碑(上海)信息技术有限公司 | 一种视频播放控制方法以及装置 |
US20180146243A1 (en) * | 2016-11-21 | 2018-05-24 | Alibaba Group Holding Limited | Method and system for managing buffers |
CN108174300A (zh) * | 2017-12-29 | 2018-06-15 | 北京奇虎科技有限公司 | 视频播放控制方法、存储介质和终端 |
-
2018
- 2018-09-03 CN CN201811020653.0A patent/CN109144612B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140040496A1 (en) * | 2012-08-06 | 2014-02-06 | General Instrument Corporation | On-demand http stream generation |
CN103997680A (zh) * | 2014-06-06 | 2014-08-20 | 北京奇艺世纪科技有限公司 | 一种视频码流的切换方法及装置 |
US20170098464A1 (en) * | 2015-10-02 | 2017-04-06 | Twitter, Inc. | Gapless video looping |
CN107197371A (zh) * | 2016-03-15 | 2017-09-22 | 广州市动景计算机科技有限公司 | 视频清晰度的切换方法及装置 |
US20180146243A1 (en) * | 2016-11-21 | 2018-05-24 | Alibaba Group Holding Limited | Method and system for managing buffers |
CN107071536A (zh) * | 2017-03-29 | 2017-08-18 | 武汉斗鱼网络科技有限公司 | 用户切换清晰度加载视频流的方法及系统 |
CN107801085A (zh) * | 2017-09-30 | 2018-03-13 | 口碑(上海)信息技术有限公司 | 一种视频播放控制方法以及装置 |
CN108174300A (zh) * | 2017-12-29 | 2018-06-15 | 北京奇虎科技有限公司 | 视频播放控制方法、存储介质和终端 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110806912A (zh) * | 2019-10-30 | 2020-02-18 | Oppo广东移动通信有限公司 | 界面处理方法及相关设备 |
CN110806912B (zh) * | 2019-10-30 | 2024-01-30 | Oppo广东移动通信有限公司 | 界面处理方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109144612B (zh) | 2021-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112218127B (zh) | 虚拟直播方法、装置、设备及存储介质 | |
CN108737845A (zh) | 直播处理方法、装置、设备以及存储介质 | |
CN101763434B (zh) | 嵌入式浏览器的网页脚本指令执行控制方法、终端和系统 | |
JP2016213884A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
CN102036058B (zh) | 视频监控系统中视频切换的方法、服务器、终端及系统 | |
CN104837051B (zh) | 视频播放方法及客户端 | |
CN112261416A (zh) | 基于云的视频处理方法、装置、存储介质与电子设备 | |
CN104602098A (zh) | 一种视频弹幕显示方法及其设备 | |
CN108900854A (zh) | 直播中连麦房间切换方法、存储介质、设备及系统 | |
CN103517135B (zh) | 一种连续播放mp4格式视频文件的方法、系统及电视 | |
CN110381384A (zh) | 一种交互式音视频播放的方法及装置 | |
WO2015043415A1 (zh) | 一种视频内容互动方法、装置及系统 | |
CN103702178B (zh) | 一种播放方法及电子设备 | |
CN104837057A (zh) | 视频文件播放方法、装置和系统 | |
CN105516741A (zh) | 在直播间嵌入游戏的方法及装置 | |
CN105898395A (zh) | 一种网络视频播放方法、装置及系统 | |
CN109348285A (zh) | 频道切换方法及装置 | |
CN112383790A (zh) | 直播的录屏方法、装置、电子设备及存储介质 | |
CN108769816A (zh) | 一种视频播放方法、装置及存储介质 | |
CN109005430A (zh) | 一种音/视频内容的点播方法、系统、装置及存储介质 | |
CN108200444A (zh) | 一种视频直播的方法、装置和系统 | |
CN107547517A (zh) | 音视频节目录制方法和网络设备及计算机装置 | |
CN109144612A (zh) | Android清晰度切换方法、装置、终端及可读介质 | |
CN107318052A (zh) | 电视机视频的播放方法、电视机及存储介质 | |
CN109144613A (zh) | Android清晰度切换方法、装置、终端及可读介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |