如何在某个特定位置观看video内的video?

我目前正在尝试实施video观看,该video将在特定位置显示video。 我可以毫无问题地显示全屏video。 然而,每当我尝试在一个帧内显示该video时(例如一个小矩形),我只能在该视图中显示video的一部分。 我无法将video放入该视图中。

我已经在android中查找了很多关于缩放video的链接,但我无法find任何方法来做到这一点。 有关该问题的任何帮助都会有所帮助。

我正在使用的是我有2个不同的类。 其中一个是我的video活动类,另一个是帮助类:

public class VideoViewCustom extends VideoView { private int mForceHeight = 0; private int mForceWidth = 0; public VideoViewCustom(Context context) { super(context); } public VideoViewCustom(Context context, AttributeSet attrs) { this(context, attrs, 0); } public VideoViewCustom(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public void setDimensions(int w, int h) { this.mForceHeight = h; this.mForceWidth = w; } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); setMeasuredDimension(mForceWidth, mForceHeight); } } 

该课程帮助我正确设置videoview的尺寸,但是我无法使video适合该区域。 我的意思是我无法缩放video以适应该区域。 我不知道android是否自动缩放到给定的尺寸但我不能这样做。

愿这对你有所帮助……

 public void onMeasure(int width, int height) { getHolder().setFixedSize(width, height); forceLayout(); setMeasuredDimension(width, height); invalidate(); } 

…并尝试RelativeLayout

    

我认为你必须创建一个ViewGroup,你可以在其中实现onLayout()方法。

在这里,您可以直接调用视图的位置,为每个视图调用layout()方法。

例:

 ViewGroup vg = new ViewGroup(this) { @Override protected void onLayout(boolean changed, int l, int t, int r, int b) { int x = getMeasuredWidth(); int y = getMeasuredHeight(); for (int i = 0; i < vg.getChildCount(); i++) { if(vg.getChildAt(i) instanceof TextView){ vg.getChildAt(i).layout(...);//and so on... } } } }; 

希望能帮到!!