surfaceView.getHolder().setFixedSize(?, ?);这个可以控制。

解决方案 »

  1.   

    @Override
    public void surfaceChanged(SurfaceHolder surfaceHolder, int arg1, int w,int h) {
    surfaceHolder.setFixedSize(?, ?);
    mediaPlayer.setDisplay(surfaceHolder);
    }
    这样的我试过。貌似不行
      

  2.   

    @Override
    public void surfaceChanged(SurfaceHolder surfaceHolder, int arg1, int w,int h) {
    surfaceHolder.setFixedSize(w, h);
    mediaPlayer.setDisplay(surfaceHolder);
    }
    这个我用过,貌似不行
      

  3.   

    LayoutParams lp = surfaceView.getLayoutParams();
    lp.width = 1280;
    lp.height = 647;
    surfaceView.getHolder().setFixedSize(1280, 647);
    surfaceView.setLayoutParams(lp);
    这样不行呀
      

  4.   

    我的需求是既要有小屏幕播放,又要有全屏播放,可切换的。从全屏播放切到小屏幕播放时,surfaceView变小了,但视频还是全屏播放的那种,所以只能看到一部分。大侠呀,这个怎么弄
      

  5.   

    surfaceHolder.setFixedSize(?, ?);是设置分辨率,视频窗口的大小是由surfaceView的大小决定的。只要设置surfaceView的layout就行了,之前没有用是因为我用的机子有问题,换台机子就行了。就是这样做的
      

  6.   

    SurfaceView sView;
    sView.setLayoutParams(new RelativeLayout.LayoutParams(int w, int h));
      

  7.   

    13楼的 在surfaceview的xml文件里面设置成android:layout_gravity="center"就行了