How to pause ExoPlayer 2 playback and resume (PlayerControl was removed)
play
player.setPlayWhenReady(true);
pause
player.setPlayWhenReady(false);
And you can check play state like this:
private boolean isPlaying() {
return player != null
&& player.getPlaybackState() != Player.STATE_ENDED
&& player.getPlaybackState() != Player.STATE_IDLE
&& player.getPlayWhenReady();
}
These codes are from PlayerControlView
.
This is my way. Create two methods and call them when needed.
private void pausePlayer(){
player.setPlayWhenReady(false);
player.getPlaybackState();
}
private void startPlayer(){
player.setPlayWhenReady(true);
player.getPlaybackState();
}
call them here
@Override
protected void onPause() {
super.onPause();
pausePlayer();
}
@Override
protected void onResume() {
super.onResume();
startPlayer();
}
You can use void setPlayWhenReady(boolean playWhenReady)
.
If Exo is ready, passing false
will pause the player. Passing true
will resume it. You can check the player's state using getPlaybackState()
.