ListView があり、行をクリックするとサウンドが再生されます。
サウンドが再生されているときに別の行をクリックすると、最初の行が停止し、2 番目の行が開始されます。
MediaPlayer を解放しないと、アプリケーションがクラッシュしますが、次のサウンドの実行が遅れます。
私が間違っていることは何ですか?これは私のコードです:
public void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
if(!isPlaying){
mPlayer = MediaPlayer.create(this,soundid[position]);
mPlayer.start();
isPlaying = true; // reproducir es true
}else{
isPlaying = false;
mPlayer.stop();
mPlayer.reset();
mPlayer = MediaPlayer.create(this,soundid[position]);
mPlayer.start();
isPlaying = true;
}
mPlayer.setOnCompletionListener(new OnCompletionListener() {
public void onCompletion(MediaPlayer mPlayer) {
mPlayer.release();
isPlaying = false;
}
});
}