MediaPlayer Next Play and Track can't be played

 


MediaPlayer song = null;
SeekBar seekBar;
Intent intent = getIntent();


protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_now_playing);

    seekBar = (SeekBar) findViewById(R.id.seekBar);
    //String selectedSong =  getIntent().getExtras().getString("selectSong");


    selectSong();


    //for pause button
    pauseButton();

    //for songtile
    getSongtitle();

    getSongList();
    getNextButton();
    getPreviousButton();

} // end of onCreate method


/**
 * Method for selecting the song
 * Moves to startSong method
 */
public void selectSong(){


    TextView lyricsBox = (TextView) findViewById(R.id.lyricsBox);
    lyricsBox.setMovementMethod(new ScrollingMovementMethod());
    String nextPlay = intent.getStringExtra("playSong");

    if(song != null){
        if(song.isPlaying()){
            song.reset();
            song = null;
        }
    }

    if (nextPlay.equals("Demons")) {
        song = MediaPlayer.create(this, R.raw.demons);
        lyricsBox.setText(R.string.demonsLyrics);

    } else if (nextPlay.equals("Black Space")) {
        song = MediaPlayer.create(this, R.raw.blankspace);
        lyricsBox.setText(R.string.blankspaceLyrics);

    } else if (nextPlay.equals("Case 420")) {
        song = MediaPlayer.create(this, R.raw.case420);
        lyricsBox.setText(R.string.case420Lyrics);
    }
    else if(nextPlay.equals("Jalma")){
        song = MediaPlayer.create(this, R.raw.jalma);
        lyricsBox.setText(R.string.jalmaLyrics);
    }
    else if(nextPlay.equals("Parelima")){
        song = MediaPlayer.create(this, R.raw.parelima);
        lyricsBox.setText(R.string.parelimaLyrics);
    }

    else if(nextPlay.equals("Mero Balyakal Ko Sathi")){
        song = MediaPlayer.create(this, R.raw.balyakalsathi);
        lyricsBox.setText(R.string.balyakalSathi);
    }

    else if(nextPlay.equals("Euta Sathi")){
        song = MediaPlayer.create(this, R.raw.eutasathi);

    }
    else if(nextPlay.equals("Audai Jadai")){
        song = MediaPlayer.create(this, R.raw.audaijadai);

    }
    else if(nextPlay.equals("Cheerleader")){
        song = MediaPlayer.create(this, R.raw.cheerleader);

    }



    // to start playing the song
    startButton();
}



//method to make sure seekbar updates till song ends
Runnable run = new Runnable() {
    @Override
    public void run() {
        getseekBar();
    }
};

/**
 * Method to start song (play the song)
 *
 */
public void startButton() {
        song.start();
    //to update seek bar
    getseekBar();
}




/**
 * Method to update the seekbar.
 * implement touch in seekbar to change song position
 */
public void getseekBar() {
    seekBar.setMax(song.getDuration());
    seekBar.setProgress(song.getCurrentPosition());
    seekBar.postDelayed(run, 1000);

    seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {

        int seek_to;
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
             seek_to = progress;

        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {

        }

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
            song.seekTo(seek_to);
        }
    });
}


/**
 * Method for pause Button
 * to pause song once clicked and change button background to play image
 * Again play the song if the button is pressed again. and change background back to pause image
 */
public void pauseButton(){
    final Button playButton = (Button) findViewById(R.id.playButton);

    playButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (song.isPlaying()) {
                playButton.setBackgroundResource(R.drawable.playbutton);
                song.pause();

            } else {
                playButton.setBackgroundResource(R.drawable.pausebutton);
                song.start();

            }

        }
    });
}

/**
 * Method to get the song title from first java file and display in the title
 */
public void getSongtitle(){

    Intent intent = getIntent();
    String nextPlay = intent.getStringExtra("playSong");
    TextView Songtitle = (TextView) findViewById(R.id.Songtitle);
    Songtitle.setText(nextPlay);
}

/**
 * Method for song list button
 * Goes back to the first java file once the button is cliked,
 * displays the song list
 */

public void getSongList(){

    Button lyricsButton = (Button) findViewById(R.id.lyricsButton);
    lyricsButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            startActivity(new Intent(NowPlaying.this, MainActivity.class));
        }
    });

}

/**
 * Method for next button
 * the song skips every 10 seconds once clicked
 */

public void getNextButton(){

    Button nextButton = (Button) findViewById(R.id.nextButton);
    nextButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            int startTime = song.getCurrentPosition();
            int forwardTime = 10000;
            startTime += forwardTime;
            if(startTime <= song.getDuration()){

                song.seekTo(startTime);
            }

            else{
                song.stop();

            }


        }
    });

} // end of getNextButton


/**
 * Method for previous button
 * the song skips back 10 seconds once clicked
 */
public void getPreviousButton(){

    Button previousButton = (Button) findViewById(R.id.previousButton);
    previousButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            int startTime = song.getCurrentPosition();
            int previousTime = 10000;
            startTime -= previousTime;

            if(startTime >= 0){
                song.seekTo(startTime);
            }
           else{
               song.seekTo(0);
                song.start();
            }
        }
    });
}




Post a Comment

Post a Comment (0)

Previous Post Next Post