视频重新定位方向

use*_*897 6 video android rotation

我写了一个代码来播放我网站上的视频.

它工作正常,但当我旋转手机时,视频从头开始重新启动.

我该如何解决这个问题?

public class ActivityVideoDetail extends Activity {

    private VideoDetail videoDetail;
    private TextView    txtResult;
    // -------------------------
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_activity_video_detail);
        if (savedInstanceState != null)
        {

        }
        else {
            ini();
        }
    }


    // -------------------------
    private void ini() {
        videoDetail = (VideoDetail) getIntent().getExtras().getSerializable(VideoDetail.VIDEO_DETAIL);
        txtResult = (TextView) findViewById(R.id.txtResult);
        txtResult.setText(videoDetail.getVideoTitle());

        Uri uri = Uri.parse(videoDetail.getVideoPath());
        //   Uri uri = Uri.parse("http://daily3gp.com/vids/747.3gp");

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

        MediaController mediaController = new MediaController(this);
        mediaController.setAnchorView(videoView);
        mediaController.setMediaPlayer(videoView);

        videoView.setMediaController(mediaController);
        videoView.setVideoURI(uri);
        videoView.start();
    }
}
Run Code Online (Sandbox Code Playgroud)

And*_* me 10

您只需要转到AndroidManifest.xml,在内部或活动标签中,您必须输入这行代码,因为有人说:

android:configChanges="orientation|screenSize"
Run Code Online (Sandbox Code Playgroud)

所以,你会有这样的事情:

<activity android:name="ActivityMenu"
android:configChanges="orientation|screenSize">
</activity>
Run Code Online (Sandbox Code Playgroud)

希望这对你有用

通常有三种方法可以做到这一点:

正如一些建议的答案,您可以区分第一次创建活动和从savedInstanceState恢复的情况.这是通过重写onSaveInstanceState并检查onCreate的参数来完成的.

您可以通过在清单中添加android:screenOrientation ="portrait"(或"landscape")来锁定活动的一个方向.

您可以通过在标记中指定android:configChanges ="screenOrientation"来告诉系统您打算自己处理屏幕更改.这样就不会重新创建活动,而是会收到一个回调(你可以忽略它,因为它对你没用).


ViV*_*ekH 0

添加

android:configChanges="方向|屏幕大小|键盘隐藏"

在你的Manifest文件里面

<activity>标签