자바 소스코드를 해석을 해야하는데 하나하나 무엇을 의미하는지 알려주시면 감사하겟습니다 ㅠㅠ
부탁드려요~!
package com.example.android;
import android.content.Context;
import android.media.MediaPlayer;
import android.util.Log;
public final class MediaPlayerPool {
private MediaPlayer mp[];
int mLast;
public MediaPlayerPool(Context ctx, int num, int resId) {
mp = new MediaPlayer[num];
for (int i = 0; i < num; i++) {
mp[i] = MediaPlayer.create(ctx, resId);
mp[i].setLooping(false);
mp[i].setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
Log.v("MediaPlayerPool", "error on media player what=" + what + " extra=" + extra);
return false;
}
});
}
mLast = -1;
}
public void start() {
for (int i = mLast + 1; i < mp.length; i++) {
if (!mp[i].isPlaying()) {
mLast = i;
mp[i].start();
return;
}
}
for (int i = 0; i <= mLast; i++) {
if (!mp[i].isPlaying()) {
mLast = i;
mp[i].start();
return;
}
}
}
public void stop() {
for (int i = 0; i < mp.length; i++) {
if (mp[i].isPlaying())
mp[i].stop();
}
}
public void onDestroy() {
for (int i = 0; i < mp.length; i++) {
if (mp[i].isPlaying()) {
mp[i].stop();
}
mp[i].release();
mp[i] = null;
}
}