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); }