Обратный отсчет играет будильник - PullRequest
0 голосов
/ 12 февраля 2012

Я действительно надеюсь, что вы можете помочь мне здесь.Ниже приведен раздел моего кода, который успешно запускает два таймера обратного отсчета ... все, что я хочу сделать, - это воспроизвести короткий mp3-файл, когда обратный отсчет завершится .... Я пробовал много разных кусочков кода, но яя изо всех сил пытаюсь заставить что-либо работать ... быстрые победы были бы хороши ..

Таким образом, чтобы округлить два таймера каждый должен играть звук, когда закончено ..

//Declare Start/Stop button
Button btnstart = (Button)findViewById(R.id.btnstart);
Button Button1 = (Button)findViewById(R.id.Button01);

final TextView mCounter1TextField=(TextView)findViewById(R.id.counter1);
final TextView mCounter2TextField=(TextView)findViewById(R.id.counter2);

//Counter 1
final CountDownTimer Counter1 = new CountDownTimer(9000000 , 1000) {
public void onTick(long millisUntilFinished) {
    mCounter1TextField.setText(" " + formatTime(millisUntilFinished));
}

public void onFinish() {
    start();
}

};

//Counter 2
final CountDownTimer counter2 = new CountDownTimer(9000000 , 1000) {
public void onTick(long millisUntilFinished) {
  mCounter2TextField.setText(" " + formatTime(millisUntilFinished));

}

public void onFinish() {
  start();
}


};

//Start Button1
btnstart.setOnClickListener(new OnClickListener() {
 public void onClick(View v) {
  Counter1.start();

   }
});

//Start Button2
 Button1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
 counter2.start();

Заранее спасибо

Dj

1 Ответ

2 голосов
/ 12 февраля 2012

Я полагаю, start() - это функция, которую вы вызываете для воспроизведения звука, верно?

, поэтому в определении start() введите следующий код:

MediaPlayer mp = MediaPlayer.create(getBaseContext(), sound); //replace 'sound' by your music/sound
mp.start();

Hopeэто помогает!

Редактировать: , пытаясь быть предельно ясным:)

Где-то в вашем коде написано:

public void onFinish() {
    start();
}

Этот метод / функция вызывается, когда счетчик завершает работу.Внутри этой функции написано 'start ()'

Я не знаю, что делает start().

В обоих случаях я советую вам сохранить его (если это не так)создайте ошибку), и после start() добавьте playSound() в два метода onFinish().

, а затем напишите ВНЕ этой функции следующее:

public void playSound() {

MediaPlayer mp = MediaPlayer.create(getBaseContext(), sound); //replace 'sound' by your    music/sound
mp.start();

}
...