2012-04-01 16 views
16

Come si usa il listener di OnCompletion per un po 'di musica? Vorrei premere un pulsante per andare a un'altra attività che riproduce un po 'di musica e poi torna indietro al termine della riproduzione della musica. Ho già codificato l'altra roba. Non riesco a capire come usare il listener di OnCompletion?OnCompletion listener con MediaPlayer

risposta

32

Si dovrebbe mettere il codice che deve essere eseguito quando la musica viene completata nel OnCompletionListener, ad esempio:

mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
    public void onCompletion(MediaPlayer mp) { 
     finish(); // finish current activity 
    } 
}); 
+0

Soluzione perfetta, ha funzionato per me – Pitto

+0

Grazie mille !!! Ha funzionato :) –

6
mPlayer.setOnErrorListener(new OnErrorListener() { 
public boolean onError(MediaPlayer paramMediaPlayer, int paramInt1,int paramInt2) { 
// TODO Auto-generated method stub 
//your code if any error occurs while playing even you can show an alert to user 
return true; 
} 
}); 
mPlayer.setOnCompletionListener(new OnCompletionListener() { 
public void onCompletion(MediaPlayer mp) { 
// TODO Auto-generated method stub 
//your code if the file was completely played either show an alert to user or start another activity or file. 
//even you can finish you activity here 
}     
}); 
4

Trovo che sopra sono esatte però stavo lottando su dove posizionare il codice. Vedi sotto, inserisco questo codice dopo il mio codice per avviare la melodia!

playButton.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
    mediaPlayer.start();  //Next line is the beginning of where to place the code. 
    mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
     @Override 
     public void onCompletion(MediaPlayer mediaPlayer) { 
     Toast.makeText(MainActivity.this, "I'm Finished", Toast.LENGTH_SHORT).show(); 
     } 
    }); 
    } 
});