Я думаю, проблема в том, что вы не подождали, пока первый закончит (или остановит) запуск второго.
попытайтесь прослушать предыдущий, когда он завершится, затем запустите следующий .. вы можете использовать setOnCompletionListener.
похожая проблема:
Android играет две песни проблема
код:
package ooo.iii;
import java.io.IOException;
import android.app.Activity;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class Test_audioActivity extends Activity {
/** Called when the activity is first created. */
Button btn;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.main);
setContentView(R.layout.main);
btn=(Button)findViewById(R.id.ss);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
playSound(R.raw.musi);
}
});
}
public void playSound(int resources){
try{
boolean mStartPlaying = true;
MediaPlayer mPlayer=null;
if (mStartPlaying==true){
mPlayer = new MediaPlayer();
Uri uri = Uri.parse("android.resource://ooo.iii/" + resources);
mPlayer.setDataSource(getApplicationContext(),uri);
mPlayer.prepare();
mPlayer.start();
}
else{
// stopPlaying();
//rePlay.setText("Replay");
mPlayer.release();
mPlayer = null;
}
mStartPlaying = !mStartPlaying;
}
catch (IOException e){
Log.e("ERR", "prepare() failed");
}
}
}
Вам необходимо изменить:
1 - источник @ res / raw / musi .. к вашему
2 - идентификатор кнопки в файле res / layout / main.xml от ss до вашей ..
3- Uri uri = Uri.parse ("android.resource: //ooo.iii/" + resources); исправить имя пакета к вашему
вот и все .. Я тестировал на реальном устройстве, много раз нажимал и получал новый звук выше предыдущего, который все еще воспроизводится