Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在切换到横向模式时继续播放视频android(恢复视频)_Java_Android_Android Videoview - Fatal编程技术网

Java 如何在切换到横向模式时继续播放视频android(恢复视频)

Java 如何在切换到横向模式时继续播放视频android(恢复视频),java,android,android-videoview,Java,Android,Android Videoview,我正在以纵向模式(不是全屏模式)使用VideoView播放视频。当我切换到横向模式时,视频不会恢复(如youtube)。有什么建议吗?这是我的密码 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //Checks the orientation of the screen

我正在以纵向模式(不是全屏模式)使用
VideoView
播放视频。当我切换到横向模式时,视频不会恢复(如youtube)。有什么建议吗?这是我的密码

    @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

        //Checks the orientation of the screen

        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_box_office_detail);

        final ProgressDialog ringProgressDialog = ProgressDialog.show(BoxOfficeDetailActivity.this, "Please wait ...", "Video now loading ...", true);

        ringProgressDialog.setCancelable(true);

        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    Thread.sleep(15000);
                } catch (Exception e) {
                }

                ringProgressDialog.dismiss();
            }

        }).start();

        videoView =(VideoView) findViewById(R.id.tvVideo);
        tvTitle = (TextView) findViewById(R.id.tvTitle);
        tvSynopsis = (TextView) findViewById(R.id.tvSynopsis);
        tvCast = (TextView) findViewById(R.id.tvCast);

        BoxOfficeMovie movie = (BoxOfficeMovie) getIntent().getSerializableExtra(BoxOfficeActivity.MOVIE_DETAIL_KEY);
        loadMovie(movie);
    }

    public void loadMovie(BoxOfficeMovie movie) {
         videoView.setVideoPath(movie.getVideo());
         MediaController mediaController = new
         MediaController(this);
         mediaController.setAnchorView(videoView);
         videoView.setMediaController(mediaController);
         videoView.start();
         videoView.requestFocus();
         tvTitle.setText(movie.getTitle());
         tvCast.setText(movie.getCastList() + " views");
         tvSynopsis.setText(movie.getSynopsis());
    }
}

很有可能在方向改变时,你需要破坏你的视频视图,然后在方向改变后恢复它,并从停止播放的位置恢复播放


顺便说一句,我在Android开发中使用VideoView和MediaPlayer时遇到了一些问题。特别是让这两件事在多个设备上正常工作。如果我是你,我会查看ExoPlayer库以支持视频播放。但我想这取决于你的应用程序视频播放的一部分有多大。ExoPlayer需要花费更多的时间才能正确安装和工作,但这并不困难,性能和稳定性的提高使它能够正常工作

通过在清单
android:configChanges=“orientation | uiMode | screenSize”中为活动添加此选项,避免活动破坏