0

我有一个480x360嵌套在全屏 VideoView 中的 mp4 视频。我想要的是在更高分辨率的物理设备上全屏播放。我不介意视频是否因将其拉伸到设备屏幕的尺寸而失真。我只想要它全屏

我的Java代码是这样的:

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
       getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

       VideoView vv = (VideoView) findViewById(R.id.videoView);


       vv.setOnPreparedListener(new OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mp) {
                mp.setLooping(true);
            }
        });


       Uri url=Uri.parse("android.resource://" + getPackageName() +"/"+ R.raw.bubblessd );

       vv.setVideoURI(url);
       vv.start();
       vv.requestFocus();

    }
}

我的活动 XML 是这样的:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"

    tools:context=".MainActivity" >

<VideoView
    android:id="@+id/videoView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"/>

</RelativeLayout>
4

1 回答 1

0
  • 如果您使用 VideoView,在这种情况下保持纵横比的更好解决方案是修复黑色背景并裁剪您的 videoView。你可以 fitXY 你的 videoView 但它会失去原来的纵横比。检查此链接:[ http://blog.gemserk.com/2013/01/22/our-solution-to-handle-multiple-screen-sizes-in-android-part-one/][1]
  • 如果您使用 SurfaceView,(对我来说是最好的选择),您可以使用以下方法:

    yourSurfaceVideo.setVideoScalingMode(MediaPlayer.VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING);

使您的视频适应您想要的空间。希望能帮助到你!

于 2014-07-15T13:53:10.297 回答