i m using videoView and mediaplayer but stopping mediaplayer in onPause and onResume gives me error:
static MediaPlayer mediaPlayer; private VideoViewCustom videoView; @Override public void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_detailvideo); context = this; videoView = (VideoViewCustom) findViewById(R.id.videoplayer); //initialize media player mediaPlayer = new MediaPlayer(); videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { // Close the progress bar and play the video public void onPrepared(MediaPlayer mp) { Log.d(TAG,"setOnPreparedListener"); mediaPlayer = mp; int timeDuration = 0; boolean videoPlaying = false; if(savedInstanceState != null) { Log.d(TAG,"savedInstanceState != null"); timeDuration = savedInstanceState.getInt("timeduration"); videoPlaying = savedInstanceState.getBoolean("videoPlaying"); Log.d(TAG, "timeDuration saved:" + timeDuration); Log.d(TAG, "videoPlaying saved:" + videoPlaying); Log.d(TAG,"video position:"+videoView.getCurrentPosition()); if (videoPlaying) { videoView.seekTo(timeDuration); mediaPlayer.start(); videoView.start(); } else { videoView.seekTo(timeDuration); } } else { Log.d(TAG, "savedInstanceState == null"); mediaPlayer.start(); videoView.start(); } finalTime = videoView.getDuration(); Log.d(TAG, "mp.getCurrentPosition():" + videoView.getCurrentPosition()); Date d = new Date(videoView.getCurrentPosition()); SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); String time = sdf.format(d).toString(); Log.d(TAG, "time:" + time); videoSeekBar.setProgress(timeDuration); videoSeekBar.setMax(finalTime); durationHandler.postDelayed(updateSeekBarTime,1000); } }); } @Override public void onResume() { super.onResume(); // Setup the player videoView.resume(); } @Override public void onPause() { if(mediaPlayer != null) { mediaPlayer.stop(); } super.onPause(); } @Override public void onDestroy() { if(mediaPlayer != null) { mediaPlayer.release(); } super.onDestroy(); } backArrowImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(mediaPlayer != null) { mediaPlayer.stop(); mediaPlayer.release(); } finish(); } }); }
once i press backArrowImageView button i have written code above my app crashed and giving me this logcat :