因此,我扩展了VideoView的onMeasure以放大视频以适应全屏视图。在VideoView中放置视频
这里是如何:
public void setVideoAspect(int w,int h){
wVideo=w;
hVideo=h;
onMeasure(w, h);
}
@Override
protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec)
{
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
if(wVideo!=0 && hVideo!=0)
setMeasuredDimension(wVideo,hVideo);
}
我打电话与屏幕的显示的指标(宽度,高)setVideoAspect()。问题是这种方法会将视频延伸到屏幕内部。我希望能够保持宽高比。 (I具有4:3视频和3:2的屏幕尺寸。)我使用了如下因素代码,得到保留比测量到视图:
int height = (int) (metrics.widthPixels*3/(float)4);
int width= metrics.widthPixels;
mVideoView.setVideoAspect(width,height);
所以这不会工作,但存在这样的问题:它使我使用屏幕宽度的4:3视频并正确缩放高度,但不会使视频居中。 (它只是裁剪视频的底部,而不是顶部和底部)。我有一个包含VideoView的相对布局,并将VideoView的引力设置为居中。
能你为此提供了完整的代码...我坚持不住 – 2018-01-22 11:59:30