Android视频视图变黑

Android视频视图变黑,android,video,Android,Video,这似乎是一个非常常见的问题,但我无法在上面搜索它 我有一个简单的视频视图,它可以播放mp4文件中的视频。它连续播放视频并循环播放视频 问题是当播放时,我去了设置,然后回来,然后视频变成黑色 这是我的代码: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_video); v

这似乎是一个非常常见的问题,但我无法在上面搜索它

我有一个简单的
视频视图
,它可以播放mp4文件中的视频。它连续播放视频并循环播放视频

问题是当播放时,我去了设置,然后回来,然后视频变成黑色

这是我的代码:

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_video);
    video = (VideoView) findViewById(R.id.video);
    // Load and start the movie
    Uri video1 = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.videoplayback);
    video.setVideoURI(video1);
    video.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mp) {
            mp.setLooping(true);
        }
    });
    video.start();
我不想在这方面有什么特别的东西,只要一个全屏幕的视频播放,它可以循环播放视频直到用户点击后退按钮。

试试这个

private int stopPosition;
   private VideoView splashVideoView;  <-- my Video view
  private int videoViewStopPosition ;

   @Override
    protected void OnPause(){
    super.onPause();
    videoViewStopPosition = vidView.getCurrentPosition();
    vidView.pause();
    }



  @Override
    protected void OnResume() {
     super.onResume();
     vidView.seekTo(videoViewStopPosition);
     vidView.start();

    }
试试这个

private int stopPosition;
   private VideoView splashVideoView;  <-- my Video view
  private int videoViewStopPosition ;

   @Override
    protected void OnPause(){
    super.onPause();
    videoViewStopPosition = vidView.getCurrentPosition();
    vidView.pause();
    }



  @Override
    protected void OnResume() {
     super.onResume();
     vidView.seekTo(videoViewStopPosition);
     vidView.start();

    }
试试这个

private int stopPosition;
   private VideoView splashVideoView;  <-- my Video view
  private int videoViewStopPosition ;

   @Override
    protected void OnPause(){
    super.onPause();
    videoViewStopPosition = vidView.getCurrentPosition();
    vidView.pause();
    }



  @Override
    protected void OnResume() {
     super.onResume();
     vidView.seekTo(videoViewStopPosition);
     vidView.start();

    }
试试这个

private int stopPosition;
   private VideoView splashVideoView;  <-- my Video view
  private int videoViewStopPosition ;

   @Override
    protected void OnPause(){
    super.onPause();
    videoViewStopPosition = vidView.getCurrentPosition();
    vidView.pause();
    }



  @Override
    protected void OnResume() {
     super.onResume();
     vidView.seekTo(videoViewStopPosition);
     vidView.start();

    }

我也有同样的问题。我发现这样做的主要原因是使用
FrameLayout
作为父布局。我将其更改为
RelativeLayout
,作为
VideoView
的父布局,问题得到了解决。

我也遇到了同样的问题。我发现这样做的主要原因是使用
FrameLayout
作为父布局。我将其更改为
RelativeLayout
,作为
VideoView
的父布局,问题得到解决。

您还需要在
onResume()中创建视频视图。试试这个:

    protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_video);

        setVideoBackground();
    }

    @Override
    protected void onResume() {
      super.onResume();

        setVideoBackground();
    }

   private void setVideoBackground(){
       video = (VideoView) findViewById(R.id.video);
       // Load and start the movie
       Uri video1 = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.videoplayback);
       video.setVideoURI(video1);
       video.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
       @Override
       public void onPrepared(MediaPlayer mp) {
       mp.setLooping(true);
    }
  });
       video.start(); 
}

您还需要在
onResume()中创建视频视图。试试这个:

    protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_video);

        setVideoBackground();
    }

    @Override
    protected void onResume() {
      super.onResume();

        setVideoBackground();
    }

   private void setVideoBackground(){
       video = (VideoView) findViewById(R.id.video);
       // Load and start the movie
       Uri video1 = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.videoplayback);
       video.setVideoURI(video1);
       video.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
       @Override
       public void onPrepared(MediaPlayer mp) {
       mp.setLooping(true);
    }
  });
       video.start(); 
}

设置是指从顶部栏设置手机,我在应用程序上方打开的所有内容都会出现这种情况,当我关闭应用程序时,我的视频视图为黑色。你需要在暂停时设置当前位置,然后从新位置开始恢复。我也有同样的问题,请使用mediaPlayer而不是从顶部栏设置手机的设置,我在应用程序上方打开的所有内容都会出现这种情况,当我关闭应用程序时,我的视频视图是黑色的。你需要将当前位置设置为onPause,然后从onResume开始使用新位置。我也有同样的问题,请改用mediaPlayer