Я пытался найти хороший способ загрузить большое количество аудиофайлов. Код ниже отлично работает, но мне нужно загрузить еще больше файлов, и именно тогда я сталкиваюсь с проблемами.Простой способ загрузки нескольких аудиофайлов?
Это викторина, и когда пользователи выбирают правильный ответ, должен воспроизводиться новый звук. Я должен загрузить более 50 звуков.
В настоящее время, как я загрузить файлы:
this.setVolumeControlStream(AudioManager.STREAM_MUSIC);
spool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);
Context myActivity = getApplicationContext();
primSounds.add(spool.load(myActivity, R.raw.int_prim_c_mel, 1));
primSounds.add(spool.load(myActivity, R.raw.int_prim_d_mel, 1));
primSounds.add(spool.load(myActivity, R.raw.int_prim_e_mel, 1));
kvintSounds.add(spool.load(myActivity, R.raw.int_kvint_c_mel, 1));
kvintSounds.add(spool.load(myActivity, R.raw.int_kvint_d_mel, 1));
kvintSounds.add(spool.load(myActivity, R.raw.int_kvint_e_mel, 1));
oktSounds.add(spool.load(myActivity, R.raw.int_okt_c_mel, 1));
oktSounds.add(spool.load(myActivity, R.raw.int_okt_d_mel, 1));
oktSounds.add(spool.load(myActivity, R.raw.int_okt_e_mel, 1));
...
Проблема заключается в том, что этот способ сделать OnCreate «слишком тяжелым»
Вам нужны все 50 загруженных одновременно? Не могли бы вы загрузить некоторые, а затем перезагрузить другой набор после их использования? – codeMagic
Возможно, вопросы викторины случайны, поэтому загрузка должна быть быстрой. – johgru
Можете ли вы узнать, какие аудиосистемы вам понадобятся для каждой викторины, прежде чем вы ее покажете? В таком случае вы можете загрузить аудио для каждой викторины. Итак, Перед тем, как показывать викторину a: загрузить все «a» аудио Когда появляется викторина «a»: загрузка викторины b аудио И так далее – mmark