单击按钮时如何发出随机声音?
How to make Random sound when button click?
所以我这里有 4 个声音,我使用的是 SoundPool
sound1 = soundPool.load(this, R.raw.aww, 1);
sound2 = soundPool.load(this, R.raw.arh, 1);
sound3 = soundPool.load(this, R.raw.agg, 1);
sound4 = soundPool.load(this, R.raw.uhh, 1);
所以我想知道如何让按钮选择随机声音:
click= (Button)findViewById(R.id.bm);
click.setOnClickListener(new View.OnClickListener() {
public void onClick(View click){
//choose one of four sound to play
}
});
}
有人有想法吗?
如何将对每个声音的引用放入数组中?然后你可以生成一个介于 0 和 array.length-1 之间的随机数并播放该声音。
假设你有N个声音片段
int[] sounds={sound1, sound2,.........., soundN};
点击按钮让他们随机播放
Random r = new Random();
int start = 0;
int end = N;
int playRandom = r.nextInt(end-start) + start;
player = MediaPlayer.create(getApplicationContext(),sounds[playRandom]);
player.start();
您可以将 soundID 存储在一个数组中,并且 select 其中一个随机 class of Java。
int[] sound = new int[4];
sound[0] = soundPool.load(this, R.raw.aww, 1);
sound[1] = soundPool.load(this, R.raw.arh, 1);
sound[2] = soundPool.load(this, R.raw.agg, 1);
sound[3] = soundPool.load(this, R.raw.uhh, 1);
Random random = new Random();
click = (Button) findViewById(R.id.bm);
click.setOnClickListener(new View.OnClickListener() {
public void onClick(View click) {
//choose one of four sound to play
soundPool.play(sound[random.nextInt(4)], 1.0f, 1.0f, 0, 0, 1.0f);
}
});
所以我这里有 4 个声音,我使用的是 SoundPool
sound1 = soundPool.load(this, R.raw.aww, 1);
sound2 = soundPool.load(this, R.raw.arh, 1);
sound3 = soundPool.load(this, R.raw.agg, 1);
sound4 = soundPool.load(this, R.raw.uhh, 1);
所以我想知道如何让按钮选择随机声音:
click= (Button)findViewById(R.id.bm);
click.setOnClickListener(new View.OnClickListener() {
public void onClick(View click){
//choose one of four sound to play
}
});
}
有人有想法吗?
如何将对每个声音的引用放入数组中?然后你可以生成一个介于 0 和 array.length-1 之间的随机数并播放该声音。
假设你有N个声音片段
int[] sounds={sound1, sound2,.........., soundN};
点击按钮让他们随机播放
Random r = new Random();
int start = 0;
int end = N;
int playRandom = r.nextInt(end-start) + start;
player = MediaPlayer.create(getApplicationContext(),sounds[playRandom]);
player.start();
您可以将 soundID 存储在一个数组中,并且 select 其中一个随机 class of Java。
int[] sound = new int[4];
sound[0] = soundPool.load(this, R.raw.aww, 1);
sound[1] = soundPool.load(this, R.raw.arh, 1);
sound[2] = soundPool.load(this, R.raw.agg, 1);
sound[3] = soundPool.load(this, R.raw.uhh, 1);
Random random = new Random();
click = (Button) findViewById(R.id.bm);
click.setOnClickListener(new View.OnClickListener() {
public void onClick(View click) {
//choose one of four sound to play
soundPool.play(sound[random.nextInt(4)], 1.0f, 1.0f, 0, 0, 1.0f);
}
});