このMediaPlayer
メソッドに渡される属性は、MediaPlayer
完了したばかりのものと同じであるため、各メディア プレーヤーへのポインターを (グローバル変数などを介して) 保持している限り、受信したメディア プレーヤーを確認するだけで済みます。 :
public class MyClass implements OnClompleteListener
{
MediaPlayer player1, player2, player3;
//initialize them
player1.setOnCompleteListener(this);
player2.setOnCompleteListener(this);
player3.setOnCompleteListener(this);
@Override
public void onCompletion(MediaPlayer mp)
{
if (mp == player1)
{
//TODO handle player 1 completion
}
else if (mp == player2)
{
//TODO handle player 2 completion
}
else if (mp == player3)
{
//TODO handle player 3 completion
}
}
}
を実装せずに、これをインラインで処理することもできますOnCompleteListener
。
player1.setOnCompleteListener(new OnCompleteListener() {
@Override
public void onCompletion(MediaPlayer mp)
{
//mp IS ALWAYS EQUAL TO player1!
}
});