У меня есть активность, в которой я использую 12 кнопок с различным звуком. Кнопки должны воспроизводиться одновременно, если вы нажмете оба одновременно.Одновременное воспроизведение нескольких SoundPool
Когда я использую MediaPlayer
, я не мог этого сделать, тогда я узнал о SoundPool
, и все было хорошо. Но с 12 разными звуками мне пришлось писать так много строк, и я не думаю, что это правильный путь сделай это.
Это правильный способ сделать это, когда я пишу это для звука 12, это стало долго?
SoundPool sp1,sp2,sp3;
int id1,id2,id3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.piano);
sp1 = new SoundPool(1, AudioManager.STREAM_MUSIC,1);
sp2 = new SoundPool(1, AudioManager.STREAM_MUSIC,1);
sp3 = new SoundPool(1, AudioManager.STREAM_MUSIC,1);
id1 = sp1.load(this,R.raw.p1,1);
id2 = sp2.load(this,R.raw.p2,1);
id3 = sp3.load(this,R.raw.p3,1);
}
public void p1Click(View v)
{
sp1.play(id1,1,1,1,0,1);
}
public void p2Click(View v)
{
sp2.play(id1,1,1,1,0,1);
}
public void p3Click(View v)
{
sp3.play(id1,1,1,1,0,1);
}