Android 百度云媒体 等播放器播放4:3等多种比例的视频 大小配置的问题
2016-11-07 11:12
435 查看
视频播放宽度大小各不一样,就需要根据视频的尺寸去适应屏幕的宽度和高度进行缩放。
思路是在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
思路是在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
相关文章推荐
- 解决Android7.0系统 调用系统相机、系统播放器播放视频、切图兼容问题,报异常android.os.FileUriExposedException
- Android WebView 播放视频无法播放问题和视频适应屏幕大小
- 解决Android7.0系统 调用系统相机、系统播放器播放视频、切图兼容问题,报异常android.os.FileUriExposedException
- android2.2播放视频占用资源问题
- Android 2.2播放mp4视频提示“是无效的流媒体”的问题
- Android用Webview播放优酷视频全屏问题
- android 播放assets文件里视频文件的问题
- android VideoView播放工程raw下的视频+全屏问题
- 简单的Android音乐播放,解决incall类型不能通过音量按键控制声音大小的问题
- 有关android中加载MP4,3gp等视频文件,无法播放问题的解决
- Android学习篇章48-VideoView视频播放-控制屏幕大小
- android webView 无法播放视频,无法暂停,继续播放视频问题,无法根据浏览器居中显示内容问题
- android求助:关于播放器中的“播放/暂停”键: 用ImageButton来设置点击效果时的问题
- android静音模式下仍可以播放媒体声音以及调节其大小。。。。
- Android用Webview播放视频问题
- 解决vlc-android播放http视频退出问题
- Android 使用Webview无法播放视频问题的解决办法
- android4.0.3修改camera预览大小分辨率和视频播放分辨率大小
- Android HTML5 Video视频标签自动播放与自动全屏问题解决
- Android AudioManager处理两个播放器同时有声音,停止其中一个播放的问题