private void preparePlayer() { if (player == null) { player = new MediaPlayer(this); playerNeedsPrepare = true; mediaController.setMediaPlayer(player); mediaController.setEnabled(true); } if (playerNeedsPrepare) { player.prepareAsync(); playerNeedsPrepare = false; } player.setSurface(surfaceView.getHolder().getSurface()); player.start(); }