2017-01-27 12 views
0

私はAndroidでVideoViewを使用して動画を再生しています。Android videoview resume not working

フラグメントのOnPause私が使用してビデオを再開しようとしていますOnResumeビデオを一時停止し、seektimeに

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

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

     } 
    } 

を格納しています -

 @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()がバンドル

からあなた onCreate()負荷 stopPositionに続いて

// This gets called before onPause 
    @Override 
    public void onSaveInstanceState(Bundle outState) { 
     super.onSaveInstanceState(outState); 
     stopPosition = videoView.getCurrentPosition(); 
     videoView.pause(); 
     outState.putInt("video_position", 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. 
    }