我有一個問題,一旦用戶點擊聲音播放我的ListView,然後當聲音播放時,他們點擊另一個聲音,他們點擊播放的2個聲音同一時間。媒體播放器同時播放多個文件
我想要播放當前正在播放,完成的聲音,然後開始他們最近點擊的新聲音。
如果有人能幫助我,那將非常感謝!
CODE:
ListView BoardList = (ListView) findViewById(R.id.BoardList);
String List[] = {
"Audio1", "Audio2", "Audio3", "Audio4", "Audio5"
, "Audio6", "Audio7", "Audio8", "Audio9"
, "Audio10", "Audio11", "Audio12" };
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
R.layout.listcustomize, R.id.textItem, List);
BoardList.setAdapter(adapter);
BoardList.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
MediaPlayer mPlayer = null;
if (position == 0) {
mPlayer = MediaPlayer.create(HodgeMain.this,
R.raw.Audio1);
mPlayer.start();
}
if (position == 1) {
mPlayer = MediaPlayer.create(HodgeMain.this,
R.raw.Audio2);
mPlayer.start();
}
if (position == 2) {
mPlayer = MediaPlayer.create(HodgeMain.this, R.raw.Audio3);
mPlayer.start();
}
if (position == 3) {
mPlayer = MediaPlayer.create(HodgeMain.this,
R.raw.Audio4);
mPlayer.start();
}
if (position == 4) {
mPlayer = MediaPlayer.create(HodgeMain.this,
R.raw.Audio5);
mPlayer.start();
}
if (position == 5) {
mPlayer = MediaPlayer.create(HodgeMain.this,
R.raw.Audio6);
mPlayer.start();
}
if (position == 6) {
mPlayer = MediaPlayer.create(HodgeMain.this,
R.raw.Audio7);
mPlayer.start();
}
if (position == 7) {
mPlayer = MediaPlayer
.create(HodgeMain.this, R.raw.Audio8);
mPlayer.start();
}
if (position == 8) {
mPlayer = MediaPlayer.create(HodgeMain.this,
R.raw.Audio9);
mPlayer.start();
}
if (position == 9) {
mPlayer = MediaPlayer.create(HodgeMain.this,
R.raw.Audio10);
mPlayer.start();
}
if (position == 10) {
mPlayer = MediaPlayer.create(HodgeMain.this,
R.raw.Audio11);
mPlayer.start();
}
if (position == 11) {
mPlayer = MediaPlayer.create(HodgeMain.this,
R.raw.Audio12);
mPlayer.start();
}
未經請求的建議=>通常情況下,當您重複同樣的事情時,可以更有效地編寫代碼。 – ChiefTwoPencils