2017-01-27 3 views
0

Я работаю над воспроизведением видео с помощью VideoView в Android.Android videoview резюме не работает

OnPause фрагмента я паузу видео и хранение seektime

@Override 
    public void onPause() { 
      super.onPause(); 

     if (videoview != null && videoview.isPlaying()) { 
      videoview.pause(); 
      seekTime = videoview.getCurrentPosition(); 

     } 
    } 

OnResume я пытаюсь возобновить видео с помощью -

 @Override 
     public void onResume() { 
      super.onResume(); 
      videoview.seekTo(seekTime); 
      //vvOnboardingVideos.resume();// this is not working for now - need to investigate 
      videoview.start(); 
     } 

видео воспроизводится с самого начала.

Есть ли что-нибудь, что я делаю неправильно. Пожалуйста, предложите.

+0

возможно дубликат http://stackoverflow.com/questions/7289515/videoview-pausing-and-resuming –

ответ

0

пытаются обратный порядок операций:

 @Override 
     public void onResume() { 
      super.onResume(); 
      videoview.start(); 
      videoview.seekTo(seekTime); 
     } 
0

попробовать это:

сохранить позицию видео, когда onpause() называется

// This gets called before onPause 
    @Override 
    public void onSaveInstanceState(Bundle outState) { 
     super.onSaveInstanceState(outState); 
     stopPosition = videoView.getCurrentPosition(); 
     videoView.pause(); 
     outState.putInt("video_position", stopPosition); 
    } 

Затем в onCreate() нагрузки stopPosition из пучка

@Override 
    protected void onCreate(Bundle args) { 
     super.onCreate(args); 
     if(args != null) { 
      stopPosition = args.getInt("video_position"); 
     } 
    } 

Возобновить видео с помощью:

@Override 
    public void onResume() { 
     super.onResume(); 
     Log.d("Tag", "onResume"); 
     videoView.seekTo(stopPosition); 
     videoView.start(); //Or use videoView.resume() if it doesn't work. 
    } 
Смежные вопросы