У меня проблемы с классом Soundpool.Вот так:
В моем игровом приложении (кстати, музыкальное приложение) мне нужно воспроизвести как минимум 32 коротких звука одновременно, поэтому я объявляю свой пул звуков следующим образом:
private SoundPool sp;
sp = new SoundPool(128, AudioManager.STREAM_MUSIC, 0);
После этого я загружаю все необходимые звуки MP3, около 80 звуков по 55 КБ каждый.У меня нет проблем с загрузкой всех звуков, но это медленно!Ну, это не проблема.Реальная проблема в том, что когда я играю около 20 звуков одновременно, в моем журнале появляется ошибка:
ERROR/AudioFlinger(59): no more track names available
ERROR/AudioTrack(26349): AudioFlinger could not create track, status: -12
ERROR/SoundPool(26349): Error creating AudioTrack
После этого каждый звук, который я пытаюсь воспроизвести, выдает ту же ошибку, и звук не может бытьиграл.Даже не звуки другой деятельности / Soundpool.Я понятия не имею, что происходит или как это исправить!Должен ли я изменить формат звуковых файлов?Должен ли я освобождать память или что-то еще после воспроизведения звука?
(я тестирую на ОС Samsung Galaxy S I9000, 2.3.3. Приложение 2.1)