1.一种安卓系统上竖屏视频黑边的处理方法,其特征在于,包括以下步骤:S1、根据竖屏视频的封面图片地址,通过安卓系统网络请求方法获取竖屏视频对应的封面图片;
S2、通过高斯曲线算法对封面图片进行高斯模糊处理,得到模糊图片;
S3、计算安卓系统上更新视图的视频区域,以及视频区域上左右两边的黑边区域,并计算模糊图片左右两边的区域;
S4、将模糊图片的左右区域分别绘制到视频区域左右的黑边区域上,视频区域中间保持透明,得到模糊视图,并将模糊视图覆盖在竖屏视频上,其包括:安卓系统上的更新视图为SurfaceView,通过SurfaceView的方法SurfaceView.getHolder.lockCanvas获取SurfaceView的画布canvas,并在SurfaceView的线程里,在画布canvas上分别绘制左右对应的模糊图片;其中:绘制左边模糊图片的方法为:
canvas.drawBitmap(模糊图片,imageLeftRect,windowLeftRect),imageLeftRect为模糊图片上截取的左区域的矩形坐标,windowLeftRect为视频区域左边的模糊区域的矩形坐标;
绘制右边模糊图片的方法为:
canvas.drawBitmap(模糊图片,imageRightRect,windowRightRect),imageRightRect为模糊图片上截取的右区域的矩形坐标,windowRightRect为视频区域右边的模糊区域的矩形坐标;
画布canvas中间区域未绘制内容,canvas中间区域默认设置为透明;
通过调用安卓系统中的FrameLayout.addView方法,向该方法中传入参数SurfaceView,使异步更新视图SurfaceView覆盖在竖屏视频上。
2.根据权利要求1所述的安卓系统上竖屏视频黑边的处理方法,其特征在于,步骤S1中获取封面图片的方法具体为:S11、在安卓系统中创建HttpGet对象,将竖屏视频的封面图片地址通过构造方法传入HttpGet对象中;
S12、使用安卓系统中的HttpClient类的execute方法发送HttpGet请求,并返回HttpResponse对象;
S13、通过HttpResponse对象的getEntity方法返回响应信息,得到竖屏视频的封面图片。
3.根据权利要求1所述的安卓系统上竖屏视频黑边的处理方法,其特征在于,步骤S2中通过高斯曲线算法对封面图片进行高斯模糊处理的方法具体为:通过的安卓系统的库函数StackBlur对图片进行模糊处理,调用StackBlur的blurNatively方法对封面图片进行处理生成高斯模糊图片。
4.根据权利要求1所述的安卓系统上竖屏视频黑边的处理方法,其特征在于,步骤S3中计算模糊图片的左右两边的方法为:模糊图片的宽为imageWidth,高为imageHeight;视频区域的宽为windowWidth,高为windowHeight;
计算模糊图片的左边区域的位置:
imageLeftPos=(imageWidth-imageHeight/16*9)/2计算模糊图片右边区域的位置:
imageRightPos=imageWidth-imageLeftPos。
5.根据权利要求4所述的安卓系统上竖屏视频黑边的处理方法,其特征在于,步骤S3中计算视频区域左右两边的区域的方法为:创建视频区域对应的Rect,视频区域左边的模糊区域的矩形坐标为:windowLeftRect=Rect(0,0,windowLeftPos,windowHeight)视频区域右边的模糊区域的矩形坐标为:
windowRightRect=(windowRightPos,0,windowWidth,windowHeight)。
6.一种安卓系统上竖屏视频黑边的处理系统,其特征在于,包括:图片获取单元,用于根据竖屏视频的封面图片地址,通过安卓系统网络请求方法获取竖屏视频对应的封面图片;
模糊处理单元,用于通过高斯曲线算法对封面图片进行高斯模糊处理,得到模糊图片;
模糊区域计算单元,用于计算安卓系统上更新视图的视频区域,以及视频区域上左右两边的黑边区域,并计算模糊图片左右两边的区域;
图片覆盖单元,用于将模糊图片的左右区域分别绘制到视频区域左右的黑边区域上,视频区域中间保持透明,得到模糊视图,并将模糊视图覆盖在竖屏视频上,其包括:安卓系统上的更新视图为SurfaceView,通过SurfaceView的方法SurfaceView.getHolder.lockCanvas获取SurfaceView的画布canvas,并在SurfaceView的线程里,在画布canvas上分别绘制左右对应的模糊图片;其中:绘制左边模糊图片的方法为:
canvas.drawBitmap(模糊图片,imageLeftRect,windowLeftRect),imageLeftRect为模糊图片上截取的左区域的矩形坐标,windowLeftRect为视频区域左边的模糊区域的矩形坐标;
绘制右边模糊图片的方法为:
canvas.drawBitmap(模糊图片,imageRightRect,windowRightRect),imageRightRect为模糊图片上截取的右区域的矩形坐标,windowRightRect为视频区域右边的模糊区域的矩形坐标;
画布canvas中间区域未绘制内容,canvas中间区域默认设置为透明;
通过调用安卓系统中的FrameLayout.addView方法,向该方法中传入参数SurfaceView,使异步更新视图SurfaceView覆盖在竖屏视频上。