【发布时间】:2014-02-12 18:51:24
【问题描述】:
我目前有一个 SoundPool 可以在屏幕抖动时加载并播放一个声音,我将如何让它在每次屏幕抖动时播放不同的声音?
编辑---
private SensorManager mSensorManager;
private ShakeEventListener mSensorListener;
SoundPool sp;
int soundOne;
int soundTwo;
int soundThree;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
//Shake sound
sp = new SoundPool(5, AudioManager.STREAM_MUSIC, 0);
soundOne = sp.load(this, R.raw.one, 1);
soundTwo = sp.load(this, R.raw.two, 1);
soundThree = sp.load(this, R.raw.three, 1);
//Shake
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mSensorListener = new ShakeEventListener();
mSensorListener.setOnShakeListener(new ShakeEventListener.OnShakeListener() {
public void onShake() {
if (acceptCheck == 1)
{
sp.play(soundOne, 1, 1, 0, 0, 1);
}
}
});
}
【问题讨论】:
-
你必须将所有你想从中挑选的声音加载到一个列表中,然后选择一个随机索引。如果您需要更多帮助,您将需要发布更多代码。
-
我已经更新了我所拥有的,正如您在 onShake 中看到的那样,它仅设置为播放 soundOne,我需要如何调整它以随机播放其中一种声音?跨度>
标签: java android eclipse random soundpool