예제 #1
0
파일: PainelFx.java 프로젝트: sonis/novosga
 /**
  * Processa a senha da fila, dando um tempo entre as chamadas
  */
 private void processQueue() {
     // se vocalizar estiver ativo, espera mais
     int duration = (main.getConfig().get(PainelConfig.KEY_SOUND_VOICE, Boolean.class).getValue()) ? 6000 : 3000;
     long time = Calendar.getInstance().getTimeInMillis();
     if (time - lastUpdate > duration) {
         try {
             Senha senha = bufferChamada.remove();
             LOG.info("Processando senha: " + senha.toString());
             // volta para o layout de exibição de senha
             if (currentLayout == null || !currentLayout.equals(senhaLayout)) {
                 changeLayout(senhaLayout);
             }
             playAlert(senha);
             senhaLayout.onSenha(senha);
             lastUpdate = Calendar.getInstance().getTimeInMillis();
         } catch (Exception e) {
         }
     }
 }
예제 #2
0
파일: PainelFx.java 프로젝트: sonis/novosga
 public void chamaSenha(final Senha senha) {
     this.senha = senha;
     if (!senhas.contains(senha)) {
         senhas.add(senha);
         if (senhas.size() > MAX_SENHAS * 2) {
             senhas = senhas.subList(senhas.size() - MAX_SENHAS, senhas.size());
         }
     }
     // adiciona senha na fila para ser processada depois
     bufferChamada.add(senha);
     LOG.info("Adicionada senha na fila de processamento: " + senha.toString());
 }
예제 #3
0
파일: PainelFx.java 프로젝트: sonis/novosga
 private void playAlert(Senha senha) {
     AudioPlayer player = AudioPlayer.getInstance();
     PainelConfig config = main.getConfig();
     player.play(config.get(PainelConfig.KEY_SOUND_ALERT).getValue());
     if (config.get(PainelConfig.KEY_SOUND_VOICE, Boolean.class).getValue()) {
         try {
             String lang = config.get(PainelConfig.KEY_LANGUAGE).getValue();
             player.getVocalizador().vocalizar("senha", lang, true);
             player.getVocalizador().vocalizar(String.valueOf(senha.getSigla()), lang, true);
             String numero = String.valueOf(senha.getNumero());
             for (int i = 0; i < numero.length(); i++) {
                 player.getVocalizador().vocalizar(String.valueOf(numero.charAt(i)), lang, true);
             }
             player.getVocalizador().vocalizar("guiche", lang, true);
             numero = String.valueOf(senha.getNumeroGuiche());
             for (int i = 0; i < numero.length(); i++) {
                 player.getVocalizador().vocalizar(String.valueOf(numero.charAt(i)), lang, true);
             }
         } catch (Exception e1) {
             LOG.log(Level.SEVERE, Main._("erro_vocalizacao"), e1);
         }
     }
 }