, так что у меня была проблема, я не могу получить голову. Я использовал статический класс для хранения моего SoundPool.Android Soundpool больше не работает
например.
public class Sound
{
private static SoundPool sounds;
private static int charged;
public static void loadSound(Context context)
{
sounds = new SoundPool(5, AudioManager.STREAM_MUSIC, 0);
charged = sounds.load(context, R.raw.charged, 1);
}
public static void playCharged()
{
sounds.play(charged, 1, 1, 1, 0, 1);
}
Затем в методе OnCreate моей основной деятельности (которая простирается BaseGameActivity) Я следующее:
setVolumeControlStream(AudioManager.STREAM_MUSIC);
Sound.loadSound(this);
Так играть, звук, который я обычно просто идти Sound.playCharged() из моего Игровой объект, который является атрибутом моей основной деятельности. Раньше все это отлично работало. Я не уверен, когда он перестает работать, но я могу только предположить, как только я начал делать серьезные изменения. Я поддерживал службы Google Play, а затем помещал объект Game в другое действие.
Ни один из звуков не воспроизводится. Тем не менее, я обнаружил, что звуки играют, если вы вызываете метод для воспроизведения их внутри конструктора для моего игрового объекта или других конструкторов. Мое предположение заключается в том, что что-то происходит, когда я все инициализировал, как будто что-то теряется.
Что-то попробовать: создайте метод SoundPool.OnLoadCompleteListener и зарегистрируйте состояние загрузки. Кроме того, зарегистрируйте возвращаемое значение из 'sounds.play()'. – fadden
Привет, благодарю вас за предложение! У меня не было одного из них, поэтому я обязательно добавлю слушателя на будущее. К счастью, я решил ошибку, связанную с тем, что я добавил новую активность. В оригинальном методе Activities onStop я бы выпустил звуки. Не дать никаких ошибок сделать это трудно обнаружить. – Jason