Поскольку на мой последний вопрос не был дан ответ, где я использовал простой медиаплеер (Звук иногда молчит при воспроизведении нескольких звуков подряд, почему?) и попытался создать все это с помощью SoundPool. Но знаете что, происходит почти то же самое, но с ошибкой
AudioFlinger could not create track, status: -12
Error creating AudioTrack
Я читал о том, что в памяти звукового пула может храниться не более 32 звуков, тогда я получаю ошибку. Правильно, после 32-го звука я не могу воспроизвести ни один из звуков, так как всегда получаю ошибку. Итак, как я могу использовать более 32 звуков с SoundPool? Пробовал использовать 3 саундпула по 20 звуков в каждом, и всегда выгружаю весь звук из других пулов вот этим:
mSoundPoolMapV1.clear(); //clearing HashMap
for(int i=1;i<15;i++){
mSoundPoolV1.unload(i);
}
Но снова появляется та же ошибка. (Я использую 22k звуков вместо 44.1k, я читал, что это может решить эту проблему, но ничего не произошло) Любые предложения приветствуются. Какого черта я не могу воспроизвести около 50 звуков ни медиаплеером, ни саундпулом? Как это возможно??
С release()
:
mSoundPoolMap.clear();
for(int i=1;i<50;i++){
mSoundPool.unload(i);
}
mSoundPool.release();
mSoundPoolMap.put(1, mSoundPool.load(Main.this, R.raw.sound1, 1));
...
mSoundPoolMap.put(50, mSoundPool.load(Main.this, R.raw.sound50, 1));
Итак, я очищаю hashmp, затем выгружаю все звуки, затем освобождаю звуковой пул. Затем я снова заполняю хэш-карту, но теперь она вообще не дает мне звука. Я должен что-то пропустить, не могли бы вы сказать мне что?