Problem lays here: mPlayer = new MediaPlayer();
You're initializing your player on every click, so what you're trying to pause is a completely new player that cannot be paused, cause it doesn't play. You must initialize the player outside of onClick method.