У меня работает счетчик (спасибо за помощь), и я добавил звук с помощью MediaPlayer, проблема в том, что загрузка счетчика задерживается из-за того, что звуки загружаются в одном классе.
ЕстьЕсть ли способ предварительно загрузить звуки с помощью основного класса, поэтому, когда вызывается счетчик, номера буферизуются и могут вызываться из этого класса?
Приложение имеет заставку и единственноецель состоит в том, чтобы загрузить все, что нужно другим классам, чтобы избежать задержек.
Если звуки не могут быть загружены из другого класса, могут ли они быть загружены отдельно во время воспроизведения?
Это то, что ядо сих пор ...
final boolean sound = timer_sound.getBoolean("timer_sound", true);
final MediaPlayer number01 = MediaPlayer.create(this, R.raw.number_1);
final MediaPlayer number02 = MediaPlayer.create(this, R.raw.number_2);
final MediaPlayer number03 = MediaPlayer.create(this, R.raw.number_3);
final MediaPlayer number04 = MediaPlayer.create(this, R.raw.number_4);
final MediaPlayer number05 = MediaPlayer.create(this, R.raw.number_5);
final MediaPlayer number06 = MediaPlayer.create(this, R.raw.number_6);
final MediaPlayer number07 = MediaPlayer.create(this, R.raw.number_7);
final MediaPlayer number08 = MediaPlayer.create(this, R.raw.number_8);
final MediaPlayer number09 = MediaPlayer.create(this, R.raw.number_9);
final MediaPlayer number10 = MediaPlayer.create(this, R.raw.number_10);
final MediaPlayer number15 = MediaPlayer.create(this, R.raw.number_15);
final MediaPlayer number20 = MediaPlayer.create(this, R.raw.number_20);
lastSeconds = (TextView) findViewById(R.id.lastminuteseconds);
lastMinute = new CountDownTimer(60 * 1000, 1000) {
public void onTick(long secondsToStart) {
int elapseTime = (int) (secondsToStart / 1000);
if (sound == true){
switch(elapseTime) {
case 1: number01.start();break;
case 2: number02.start();break;
case 3: number03.start();break;
case 4: number04.start();break;
case 5: number05.start();break;
case 6: number06.start();break;
case 7: number07.start();break;
case 8: number08.start();break;
case 9: number09.start();break;
case 10: number10.start();break;
case 15: number15.start();break;
case 20: number20.start();break;
}
}
это работает почти нормально, проблема в том, что загрузка файлов занимает 2 секунды, и я хотел добавить еще несколько (50, 40, 30).