How to detect song playing is completed?

10,208

I believe something like this can help,

mediaPlayer.setOnCompletionListener(this);
// When song is ended then media player automatically called onCompletion method.
    public void onCompletion(MediaPlayer arg0) 
{
    // Write your code
}
Share:
10,208
Raynold
Author by

Raynold

A Hobby Developer. I do work from Home. I dont like to be disturbed while working,

Updated on June 27, 2022

Comments

  • Raynold
    Raynold almost 2 years

    I am playing a song with the help of Media Player using following code,

    mediaPlayer = new MediaPlayer();
    mediaPlayer.setDataSource( "sound_file_filepath" );
    mediaPlayer.prepareAsync();
    mediaPlayer.setOnPreparedListener(new OnPreparedListener() 
    {
        @Override
        public void onPrepared(MediaPlayer mp) 
        {
            mediaPlayer.start();
        }
    }); 
    

    Now i have a toggle kind of image in my .xml file which first shows a play image. After clicking/touching the play image it will start the song and replace the image with stop image.

    Now my question is how can i know that my sound has finished playing ? I am very well aware of isPlaying() method, it returns true if song is running and false if not. But when & where should i check this condition to display the play image again ?

  • Raynold
    Raynold about 11 years
    Thanks for the answer Marko