2015-06-24 6 views
0

i добавил "pause.Timer = true;" перед кодами медиаплеера и «pauseTimer = false»; после того, как мультимедийный проигрыватель кодов, но приложение показывает, что таймер все еще играет, когда звук читает вопрос. вопросы - это простые проблемы суммирования вопросов. мои коды ошибочны?пауза таймер при воспроизведении звука

Это мои коды;

} .start()}

private int getScore(){ 
     String scoreStr = scoreTxt.getText().toString(); 
     return Integer.parseInt(scoreStr.substring(scoreStr.lastIndexOf(" ")+1)); 
    } 

    private void chooseQuestion(){ 
     answerTxt.setText("= ?"); 
     QnNum = random.nextInt(QnsList.length); 

    final int DELAY_MS = 1000; 


     question.setText("Qn "+(questionNumber)); 

     pauseTimer = true; 

     qn = MediaPlayer.create(this, QnsList[QnNum]); 
     qn.setOnCompletionListener(new OnCompletionListener() { 
     @Override 
     public void onCompletion(MediaPlayer qn) { 
      qn.stop(); 
      qn.reset(); 
      qn.release(); 
      qn = null; 

     } 
    }); 

     if (leftTimeInMillisecondsGlobal == 0) { 
      if (countDownTimer != null) { 
       countDownTimer.cancel(); 
      } 
      setTimer(originalTimerTimeInMilliSeconds); 
     } else { 
      if (countDownTimer != null) { 
       countDownTimer.cancel(); 
      } 
      setTimer(leftTimeInMillisecondsGlobal); 
     } 

     pauseTimer = false; 

     startTimer(); 

     qn.start();} 

ответ

0

хотя я не знаю, как таймер работ, еще предлагая решение.

Переместить pauseTimer = false; внутри onCompletionListener MediaPlayer.

Ex:

private void chooseQuestion(){ 
    answerTxt.setText("= ?"); 
    QnNum = random.nextInt(QnsList.length); 

final int DELAY_MS = 1000; 


    question.setText("Qn "+(questionNumber)); 

    pauseTimer = true; 

    qn = MediaPlayer.create(this, QnsList[QnNum]); 
    qn.setOnCompletionListener(new OnCompletionListener() { 
    @Override 
    public void onCompletion(MediaPlayer qn) { 
     qn.stop(); 
     qn.reset(); 
     qn.release(); 
     qn = null; 
     pauseTimer = false; 


    } 
}); 

    if (leftTimeInMillisecondsGlobal == 0) { 
     if (countDownTimer != null) { 
      countDownTimer.cancel(); 
     } 
     setTimer(originalTimerTimeInMilliSeconds); 
    } else { 
     if (countDownTimer != null) { 
      countDownTimer.cancel(); 
     } 
     setTimer(leftTimeInMillisecondsGlobal); 
    } 


    startTimer(); 

    qn.start(); 

}

+0

Я пытался вне «pauseTimer = ложь» в России, но, когда я играл в эту игру, таймер продолжает работать, когда звук говорит проблемные суммы вопрос. Я пропустил какие-либо другие коды или что-то еще? – kjy

Смежные вопросы