因此,我擴展了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