private boolean executeCantico(int numCantico) {

    String[] arquivos = FileUtils.fileNamesOnFolder(CANTICOS_FOLDER);
    String fileNameExpected = CANTICOS_FILEPREFIX + String.format("%03d", numCantico) + ".mp3";
    boolean foundFile = false;
    for (String arquivo : arquivos) {
      if (arquivo.equals(fileNameExpected)) {
        try {
          if (audioThread != null && audioThread.isAlive()) {
            audioPlayer.stop();
            audioThread.interrupt();
          }
          audioPlayer = new AudioPlayer(new File(CANTICOS_FOLDER + "\\" + arquivo));
          audioThread = new Thread(audioPlayer);
          audioThread.start();
          foundFile = true;
          print("executing " + fileNameExpected);
          break;
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    }
    return foundFile;
  }
 public Mensagem clientSendMessage(Mensagem msg) {
   String[] args = msg.getMensagem().split(" ");
   String retMsg = "opcao não encontrada";
   if (args.length > 0) {
     if (args.length >= 2) {
       if (args[0].equals("cantico")) {
         retMsg = "executando cantico " + args[1] + ", tema 'jeová é o refugio'";
       }
     }
     if (args[0].equals("listar")) {
       String[] arquivos = FileUtils.fileNamesOnFolder("E:\\musicas\\canticos");
       StringBuilder bulder = new StringBuilder("todos os canticos \n#listaCanticos");
       for (String string : arquivos) {
         bulder.append("\n" + string);
       }
       bulder.append("\n" + "#listaCanticos");
       retMsg = bulder.toString();
     }
     if (args[0].equals("tocar_cantico")) {
       if (args.length >= 2) {
         int numCantico = 0;
         try {
           numCantico = Integer.parseInt(args[1]);
           if (numCantico > 0 && executeCantico(numCantico)) {
             retMsg = "executing cantico " + numCantico;
           } else {
             retMsg = "não foi possivel executar o cantico";
           }
         } catch (NumberFormatException e) {
           retMsg = "Número do Cantico[parametro 2] invalido";
         }
       } else {
         retMsg = "Segundo parametro não informado";
       }
     }
   }
   return new Mensagem(msg.getCliente(), msg.getServidor(), retMsg, Origem.Servidor);
 }