public class PlayerService extends Service implements OnErrorListener { .... //////////////////// this.mplayer = MediaPlayer.create(c, Uri.parse(url)); mplayer.setOnErrorListener(onErrorListener); //////////////////// MediaPlayer.OnErrorListener onErrorListener = new MediaPlayer.OnErrorListener() { @Override public boolean onError(MediaPlayer mp, int what, int extra) { Log.e(getPackageName(), String.format("Error(%s%s)", what, extra)); playlist="ERROR"; restart(); return true; } }; @Override public boolean onError(MediaPlayer player, int what, int extra) { restart(); return true; }; public void restart() { try { playlist="RELOADING"; for (int u=1; u<=5; u++) { Thread.sleep(5000); mplayer.stop(); mplayer.release(); mplayer=null; playSong(getApplicationContext(),currenturl); }; } catch (Exception e) { playlist="RELOADING ERROR"; } } ////////////// .... }