2012-04-01 1 views
16

일부 음악에는 OnCompletion 수신기를 어떻게 사용합니까? 버튼을 눌러 음악을 재생하는 다른 활동으로 이동 한 다음 음악 재생이 끝나면 다시 돌아가고 싶습니다. 나는 이미 다른 것들을 코딩했다. OnCompletion Listener를 사용하는 방법을 파악할 수 없습니까?MediaPlayer가 포함 된 OnCompletion 수신기

당신은 예를 들어, 음악이 OnCompletionListener에 완료 될 때 실행되어야하는 코드를 삽입해야

답변

32

:

mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
    public void onCompletion(MediaPlayer mp) { 
     finish(); // finish current activity 
    } 
}); 
내가 위에서 올바른 그러나 나는를 배치 할 위치에 어려움을 겪고 된 것을 발견
+0

완벽한 해결책, 나를 위해 일했습니다 – Pitto

+0

정말 고마워요! 그것은 일했다 :) –

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

암호. 튜토리얼을 시작하려면 코드를 작성한 후이 코드를 삽입하십시오!

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(); 
     } 
    }); 
    } 
}); 
관련 문제