web-dev-qa-db-ja.com

MediaPlayerを使用したOnCompletionリスナー

一部の音楽にOnCompletionリスナーを使用するにはどうすればよいですか?ボタンを押して、音楽を再生する別のアクティビティに移動し、音楽の再生が終了すると元に戻ります。私はすでに他のものをコーディングしました。 OnCompletionリスナーの使い方を理解できません。

26
SnoX

音楽が完了したときに実行されるコードをOnCompletionListenerに配置する必要があります。次に例を示します。

mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
    public void onCompletion(MediaPlayer mp) {
        finish(); // finish current activity
    }
});
50
MByD
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
}                   
}); 
6
Ishu

上記は正しいと思いますが、コードを配置する場所に苦労していました。以下を参照してください。このコードを私のコードの後に​​配置して、チューニングを開始します!

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();
      }
    });
  }
});
5
tom1988