视频播放宽度大小各不一样,就需要根据视频的尺寸去适应屏幕的宽度和高度进行缩放。

思路是在onPrepared方法中,或者切换屏幕后,获取video的高度和宽度。以及屏幕展示区域的高度的宽度。并对比二者比例,进行缩放。

简单的代码如下,仅供参考

WindowManager wm = (WindowManager) MovieOverViewActivity.this
.getSystemService(Context.WINDOW_SERVICE);
Rect outRect = new Rect();
MovieOverViewActivity.this.getWindow().findViewById(Window.ID_ANDROID_CONTENT).getDrawingRect(outRect);
int width = wm.getDefaultDisplay().getWidth()-outRect.top;
int height = wm.getDefaultDisplay().getHeight();
int mVideoWidth = mVV.getVideoWidth();
int mVideoHeight = mVV.getVideoHeight();
RelativeLayout.LayoutParams layoutParams=(RelativeLayout.LayoutParams)mVV.getLayoutParams();
if(mVideoWidth>0&&mVideoHeight>0){
Log.d("宽度,",width+":"+height+":"+mVideoWidth+":"+mVideoHeight);
if(width*mVideoHeight>height*mVideoWidth){
width = height * mVideoWidth / mVideoHeight;
}else if(mVideoWidth * height < width * mVideoHeight){
height = width * mVideoHeight / mVideoWidth;
}
}
layoutParams.height = height;
layoutParams.width = width;
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT);
// layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
// layoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
// layoutParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
// layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);

mVV.setLayoutParams(layoutParams);//mvv 为BVideoView

Android 百度云媒体 等播放器播放4:3等多种比例的视频 大小配置的问题的更多相关文章

  1. 使用vlc播放器播放rtsp流视频

    可参考: 使用vlc播放器做rtsp服务器 web网页中使用vlc插件播放相机rtsp流视频 使用vlc进行二次开发做自己的播放器 首先需要安装vlc播放器,下载及安装步骤略 使用vlc播放器播放rt ...

  2. 【转】C# 视频监控系列(12):H264播放器——播放录像文件

    原文地址:http://www.cnblogs.com/over140/archive/2009/03/23/1419643.html?spm=5176.100239.blogcont51182.16 ...

  3. .net C# 网页播放器 支持多种格式 媒体播放器 播放器 代码

    .avi格式代码片断如下:<object id='video' width='400' height='200' border='0' classid='clsid:CFCDAA03-8BE4- ...

  4. EasyPlayer-RTSP-Android安卓播放器播放RTSP延迟优化策略,极低延时!

    EasyPlayer-RTSP-Android安卓RTSP播放器低延迟播放延时优化策略 EasyPlayer-RTSP-Android播放器是一款专门针对RTSP协议进行过优化的流媒体播放器,其中我们 ...

  5. 第十一篇、HTML5隐藏播放器播放背景音乐

    html5添加网页背景音乐  一个客户要求给网站添加一个背景音乐,我用的是html5添加网页背景音乐的代码,在此记录一下以后有用. html5方法一:<audio autoplay=" ...

  6. flv网页播放器播放失败

    在IIS6.0上发布网站时,在路径正确的情况下,网页flv播放器还是无法播放flv视频的解决方法. 1.打开IIS6.0管理器,打开发布的网站,点击打开属性窗口. 2.在HTTP头选项里找到MIME类 ...

  7. java调用本地播放器播放视频文件。调用本地播放器不能播放指定文件的说明。

    public class OpenExe extends HttpServlet { //打开本地播放器并播放视频 public static void openExe(String file) { ...

  8. .NET MVC对接POLYV——HTML5播放器播放加密视频

    官方参考文档:http://dev.polyv.net/2017/videoproduct/v-playerapi/html5player/html5-docs/ 1.上传视频之前根据自己需要对所上传 ...

  9. 如何实现Windows平台RTMP播放器/RTSP播放器播放窗口添加OSD文字叠加

    好多开发者在做Windows平台特别是单屏多画面显示时,希望像监控摄像机一样,可以在播放画面添加OSD台标,以实现字符叠加效果,大多开发者可很轻松的实现以上效果,针对此,本文以大牛直播SDK (Git ...

随机推荐

  1. C++STL学习笔记_(1)vector知识

    #include<iostream> using namespace std; #include "vector" //数组元素的 添加和删除 void main31( ...

  2. Ajax调用SpringMVC ModelAndView 无返回情况

    在项目中使用Ajax的时候,success中返回的data一直都是null,也没有报错.在确定Ajax语法没有错误,也没有牵扯跨域问题后,用排除法挨着删除代码,发现是因为Spring MVC会自动把方 ...

  3. spark2.0配置

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  4. asp.net web api添加自定义认证

    1.定义认证失败结果生成器 /// <summary> /// 认证失败结果生成器 /// </summary> public class AuthenticationFail ...

  5. Arcengine,C#获得FeatureClass的坐标系ISpatialReference以及所在数据集名称

    1: /// <summary> 2: /// 获得坐标系统 3: /// </summary> 4: /// <param name="pFeatureCla ...

  6. 深入Java虚拟机

    第一章:Java体系结构介绍 1.Java为什么重要?       Java是为网络而设计的,而Java这种适合网络环境的能力又是由其体系结构决定的,可以保证安全健壮和平台无关的程序通过网络传播. 2 ...

  7. AngularJs自定义指令详解(4) - transclude

    transclude默认值为false,如果设置 transclude为true,那么相应地,必须在模板代码中加入ng-transclude指令. 先看个例子: <!DOCTYPE html&g ...

  8. lightoj 1427 - Substring Frequency (II) AC自动机

    模板题,找来测代码. 注意有相同单词 //#pragma comment(linker, "/STACK:1024000000,1024000000") #include<c ...

  9. rdlc报表大小设置

    参考:http://stackoverflow.com/questions/427730/how-to-limit-rdlc-report-for-one-page-in-a-pdf 主要设置为:报表 ...

  10. SQL脚本IN在EF中的应用

    C#查询条件中存在in,为了避免拼脚本,参数化查询数据库,提高安全性,规避脚本注入.网上找了好多,最后发现 SqlParameter 是无法实现in的操作,所以只能变相来实现,结果还是不错的,性能上各 ...