在Android中使用视频视图支持视频

时间:2014-12-26 06:23:05

标签: android video orientation android-videoview landscape

我无法在横向模式下更改视频的方向。这是我的代码:

VideoView videoView = (VideoView) findViewById(R.id.video_view);
    MediaController mediaController = new MediaController(this); //Creating the media controller
    mediaController.setAnchorView(videoView);

    //Specify the location of media file
    Uri uri = Uri.parse("android.resource://" + getPackageName() + "/"
            + R.raw.my_video);

    videoView.setMediaController(mediaController);
    videoView.setVideoURI(uri);
    videoView.requestFocus();
    videoView.start();

    videoView.setOnCompletionListener(this);

在清单中我添加了以下几行:

android:configChanges="keyboard|orientation|screenSize"
        android:screenOrientation="landscape"

并且由此无法正常工作。提前致谢!! :)

3 个答案:

答案 0 :(得分:2)

我通过在活动的onStart中添加以下代码行解决了这个问题:

@Override
protected void onStart() {
    super.onStart();
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}

答案 1 :(得分:1)

这就是我强制将视频缩放到横向视图所做的,希望它有所帮助。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

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

</RelativeLayout>

答案 2 :(得分:0)

可以通过更改屏幕方向来更改视频视图的方向。

使用this按下按钮等动态更改设备的方向。

您可以按照自己的方式定义新的layout-landscape。因此,基本上每当您按下按钮时,设备的方向都会发生变化,因此也会改变视频方向。