У меня есть объект звукового пула и несколько звуков, но после создания я все равно не могу изменить воспроизведение звуков, например, количество циклов, громкость, остановку и т. Д.
Код декларации:
public SoundPool sounds;
public HashMap<Integer, Integer> soundmap = new HashMap<Integer, Integer>();
static final public int UFO=3;
static final public int PlayerDeath=3;
static final public int InvaderDeath=2;
static final public int PlayerFire=1;
Код назначения звука:
sounds = new SoundPool(10,AudioManager.STREAM_MUSIC,0);
soundmap.put(PlayerDeath,sounds.load(getContext(), R.raw.explosion, 1));
soundmap.put(InvaderDeath,sounds.load(getContext(), R.raw.invaderkilled, 1));
soundmap.put(PlayerFire,sounds.load(getContext(),R.raw.shoot, 1));
soundmap.put(UFO,sounds.load(getContext(),R.raw.ufo, 1));
Старт/стоп код:
public void PlayUFOMusic()
{
sounds.play(soundmap.get(UFO),0.8F,0.8F,1,2000,1);
}
public void StopUFOMusic()
{
sounds.stop(soundmap.get(UFO));
}
Я знаю, что эти функции вызываются, но в любом случае ничто не заставит их измениться. Я также пробовал setLoop, setVolume, pause и unload, но ничего из этого не сработало.
Любые идеи?