Я бы предложил SoundPool для бесшовного воспроизведения в Android, потому что mediaPlayer сначала загружает в память все звуковые данные, а не воспроизводит их, поэтому при частом переключении между звуками возникает некоторая задержка.
SoundPool - лучший вариант для небольшихразмер звукового файла, и дает лучший результат с медиа-файлом .ogg.
SoundPool soundPool = new SoundPool(5, AudioManager.STREAM_MUSIC, 0);
soundPool.setOnLoadCompleteListener(new OnLoadCompleteListener() {
@Override
public void onLoadComplete(SoundPool soundPool, int sampleId,
int status) {
loaded = true;
}
});
soundID = soundPool.load(this, R.raw.sound, 1);
if (loaded) {
soundPool.play(soundID, volume, volume, 1, 0, 1f);
}