0
私は音楽をSDカードから取得し、リストビューで曲の詳細を表示し、itemOnclick Listenerを設定しようとしています。正しく曲を再生できます私は、リスト内の別の項目をクリックしたときに、ここで最初のものを停止することなく、他の曲の開始を表示私のコードリストからmysicを再生する方法
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Mediafileinfo item = audioList.get(i);
Uri myUri = Uri.parse(item.getData());
mediaPlayer = new MediaPlayer();
if(!mediaPlayer.isPlaying())
{mediaPlayer.reset();
try {
mediaPlayer.setDataSource(MainActivity.this, myUri);
} catch (IOException e) {
e.printStackTrace();
}
try {
mediaPlayer.prepare();
} catch (IOException e) {
e.printStackTrace();
}
mediaPlayer.start();
}
else if (mediaPlayer.isPlaying()) {
mediaPlayer.stop();
mediaPlayer.reset();
try {
mediaPlayer.setDataSource(MainActivity.this, myUri);
} catch (IOException e) {
e.printStackTrace();
}
try {
mediaPlayer.prepare();
} catch (IOException e) {
e.printStackTrace();
}
mediaPlayer.start();
}
}
});
である私はisPlayingを設定しようとしましたが、曲が再生されている場合、それはそれを停止しますが、それもいけない仕事私のために何かヒントやどこに間違っている?
あなたがクリックしたときに
この行を削除すると、エラー – SAVVY
が表示され、mediaPlayer = new MediaPlayer()を転送できます。 – lanniaoyidingying
1つのmediaPlayerのみが必要です。 – lanniaoyidingying