public static void next() throws Exception { if (REPEATMEDIA == ACTIVE) { REPEATMEDIA = UNACTIVE; GUI.getInstance().repeatTrack.setState(false); } GUI.getInstance().jTable.setValueAt(" ", CURRENTINDEXMEDIA, 0); if (CURRENTINDEXMEDIA == CURRENTPLAYLIST.getNumberOfMedia() - 1) { if (REPEATPLAYLIST == ACTIVE) { CURRENTINDEXMEDIA = 0; play(CURRENTPLAYLIST, CURRENTINDEXMEDIA); } } else { CURRENTINDEXMEDIA++; play(CURRENTPLAYLIST, CURRENTINDEXMEDIA); } }
/** Created by sattas on 3/28/14. */ public class InputData { GUI t = GUI.getInstance(); public static int size = 0; public static ArrayList timeList = new ArrayList(); public static final int[] memarray = new int[] {255, 511, 767, 1023, 1279, 1535, 1791, 2047, 2303, 2559, 2815, 3071}; public void readFile() throws IOException { try { FileInputStream fstream = new FileInputStream("dataIn.txt"); DataInputStream in = new DataInputStream(fstream); BufferedReader br = new BufferedReader(new InputStreamReader(in)); String strLine; int memi = -1; int strLineMemory = 59; while ((strLine = br.readLine()) != null) { t.data[strLineMemory++][1] = String.valueOf(strLine); memi++; size++; while ((strLine = br.readLine()) != null && !strLine.startsWith("*")) { String[] arr = strLine.split(" "); String command = arr[0]; String operand = arr[1]; toMemory(command, operand, memarray[memi]); memarray[memi] = memarray[memi] + 2; System.out.printf("%s %s ", command, operand); } } in.close(); } catch (Exception e) { // Catch exception if any System.err.println("Error: " + e.getMessage()); } MOSMain mos = new MOSMain(); mos.planner(); t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); t.setSize(830, 800); t.setVisible(true); t.setTitle("Printer"); sortTime(); } public void toMemory(String command, String operand, int place) { if (GUI.data[place][1].equals("0")) { GUI.data[place][1] = command; GUI.data[place + 1][1] = operand; t.textfieldIC.setText("80"); t.textfieldTI.setText("10"); } t.textfieldMODE.setText("V"); // pradiniai duomenys t.data[0][1] = "6"; // sokti, jei iskilo PI inerrupt t.data[1][1] = "18"; // sokti, jei iskilo SI inerrupt t.data[2][1] = "28"; // sokti, jei iskilo TI inerrupt t.data[3][1] = "38"; // sokti, jei iskilo IOI inerrupt // jei iskilo PI interupt: t.data[6][1] = "MVR1"; t.data[7][1] = "48"; t.data[8][1] = "LR1"; t.data[9][1] = "17"; t.data[10][1] = "MVR2"; t.data[11][1] = "23"; t.data[12][1] = "AD1"; t.data[13][1] = "17"; t.data[14][1] = "exit"; // jei iskilo SI interupt: t.data[18][1] = "MVR1"; t.data[19][1] = "478"; t.data[20][1] = "LR1"; t.data[21][1] = "27"; t.data[22][1] = "MVR2"; t.data[23][1] = "95"; t.data[24][1] = "AD1"; t.data[25][1] = "27"; t.data[26][1] = "exit"; // jei iskilo TI interupt: t.data[28][1] = "MVR1"; t.data[29][1] = "72"; t.data[30][1] = "LR1"; t.data[31][1] = "37"; t.data[32][1] = "MVR2"; t.data[33][1] = "24"; t.data[34][1] = "AD1"; t.data[35][1] = "37"; t.data[36][1] = "exit"; // jei iskilo IOI interupt: t.data[38][1] = "MVR1"; t.data[39][1] = "486"; t.data[40][1] = "LR1"; t.data[41][1] = "49"; t.data[42][1] = "MVR2"; t.data[43][1] = "64"; t.data[44][1] = "AD1"; t.data[45][1] = "49"; t.data[46][1] = "exit"; } public void sortTime() { int i = 59; // int [] temp = new int[InputData.size]; while (Integer.valueOf(t.data[i][1]) != 0) { timeList.add(Integer.valueOf(t.data[i][1])); i++; } i = 59; Collections.sort(timeList); // return(temp); // System.out.println(getMinValue(temp)); // for (int a=0;a<InputData.size;a++){ // data[i][1] = String.valueOf(temp[a]); // i++; // } } }
public static void stop2() { instance.setsStates(SunoneStates.IN_STOP); PLAYSTATUS = NEXTWASSTOP; player.stop(); GUI.getInstance().reinitialiseComposantsLecteur(); }
public static void play(Playlist playlist, int indexofmedia) throws Exception { // la valeur x est utilis�e pour le positionnement du JScroolPane de la // JTable // la valeur qu'elle cotient � �t� choisit par des experiences que nous // avons r�alis�s instance.setsStates(SunoneStates.IN_PLAY); int x = (4 * 414) / 23; // recup�ration du chemin d'une musique dans la playlist // la m�thode open file est d�finie dans la classe FileEdited permet juste // de lire et renvoyer le chemin d'un fichier BufferedReader br = FileEdited.openFile(playlist.getName(), indexofmedia); String s = br.readLine(); br.close(); CURRENTMEDIA = s; do { // debut la grande boucle qui boucle jusqu'� la fin du fin de la playlist // et r�p�te eventuellement lorsque Repeter la playlist(REPEATPLAYLIST) est // activ�e while (s != null) { // boucle de lecture jusqu'� la fin du fichier afin de reinitialiser // les param�tres pour la lecture avant de tester repeatPlaylist. if (s != null) // debut du trraitement pour chaque fichier multimedia // dont le chemin a �t� lu dans la playlist. { // localisation du m�dia gr�ce � la classe Medialocator de JMF // cette methode permet d'encapsuler le media elle permet nous permet // donc // de faire abstraction du format du fichier utili� ( qu'il soit // mp3,mpg, avi ou autres) MediaLocator mediaLocator = new MediaLocator((new File(s).toURL()).toString()); do { // debut de la boucle dont la condition de sortit est que repeter // musique // ne soit pas activ�.si REPEATMEDIA est activ� il repete la m�me // musique. try { // creation du player. c'est sur lui que le traitement se fait // on utilise la classe Manager qui est le gestionnaire permettant // return // un player (qui est en fait une thread) et c'est sur elle que // les op�rations de lecture se feront. player = Manager.createPlayer(mediaLocator); // ajout du listener qui permet d'�couter les differents phases // par lesquels passent // le player: de la realisation au debut de la lecture comme nous // le verons dans son code player.addControllerListener( new ControllerAdapter() { double dureeTotale = 0; // permet d'�couter la fin de la r�alisation du media cet �tat // ne peut �tre atteint que lorsque // la m�thode realise() a �t� appel� auparavant. // lorsque la r�alisation se termine par exemple par exemple, on // peut retirer plusieurs // propri�t� du media. Comme la dur�e totale public void realizeComplete(RealizeCompleteEvent re) { // recuperation de la dur�e du media. dureeTotale = player.getDuration().getSeconds(); try { if (PLAYSTATUS != NEXTWASPAUSE) { // quelques initialisations des labels centraux de // l'interface graphique // aussi bien celui du nom de l'artiste que celui de la // dur�e totale de la musique GUI.getInstance().jLabel6.setText("00:00/00:00"); GUI.getInstance().jLabel.setText(getArtistName(CURRENTMEDIA)); GUI.getInstance().jSlider1.setValue(0); } } catch (Exception e) { } GUI.getInstance().jSlider1.setMaximum((int) dureeTotale); player.prefetch(); } public void prefetchComplete(PrefetchCompleteEvent pe) { GUI.getInstance().reinitialiseComposantsLecteur(); GUI.getInstance().mediaVisuel = player.getVisualComponent(); if (GUI.getInstance().mediaVisuel != null) GUI.getInstance() .mediaVisuel .addMouseListener( new MouseListener() { public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2) { if (fullScrean == 0) { fullScrean = 1; GUI.getInstance().fullScrean = GUI.getInstance().getFullScrean(); Toolkit kit = Toolkit.getDefaultToolkit(); Dimension screen = kit.getScreenSize(); GUI.getInstance().fullScrean.setSize(screen); GUI.getInstance() .fullScrean .add(GUI.getInstance().mediaVisuel); GUI.getInstance().setVisible(false); GUI.getInstance().fullScrean.setAlwaysOnTop(true); GUI.getInstance().fullScrean.setVisible(true); } else { fullScrean = 0; GUI.getInstance() .videoPanel .add( GUI.getInstance().mediaVisuel, BorderLayout.CENTER); GUI.getInstance().fullScrean.setVisible(false); GUI.getInstance().setVisible(true); GUI.getInstance().fullScrean = null; } } } public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} public void mousePressed(MouseEvent e) {} public void mouseReleased(MouseEvent e) {} }); player.getGainControl().setDB(-70 + GUI.getInstance().jSlider.getValue()); if (GUI.getInstance().mediaVisuel != null) { GUI.getInstance() .jContentPane .add(GUI.getInstance().getJPanel4(), BorderLayout.CENTER); GUI.getInstance() .videoPanel .add(GUI.getInstance().mediaVisuel, BorderLayout.CENTER); GUI.getInstance().videoPanel.setVisible(true); GUI.getInstance().videoPanel.setTitle("SunOne"); GUI.getInstance().videoPanel.pack(); if (GUI.getInstance().fullScrean != null) { GUI.getInstance().fullScrean.add(GUI.getInstance().mediaVisuel); GUI.getInstance().fullScrean.setVisible(true); } } player.start(); } }); player.realize(); while (player.getState() != Player.Started) { Thread.sleep(70); } String timeTotal = conversion((int) player.getDuration().getSeconds()); GUI.getInstance().jTable.setValueAt(timeTotal, CURRENTINDEXMEDIA, 2); GUI.getInstance().jTable.setValueAt(GUI.fleche, CURRENTINDEXMEDIA, 0); if (CURRENTINDEXMEDIA != 0) GUI.getInstance().jTable.setValueAt(" ", CURRENTINDEXMEDIA - 1, 0); GUI.getInstance() .jScrollPane .getVerticalScrollBar() .setValue(((4 * 414) / 23) * (CURRENTINDEXMEDIA / 4)); x += x; scrollIncrement = 0; if (PLAYSTATUS == NEXTWASPAUSE) { player.setMediaTime(TIME); PLAYSTATUS = -1; } while (player.getState() == Player.Started) { Thread.sleep(1000); int i = (int) player.getMediaTime().getSeconds(); GUI.getInstance().jSlider1.setValue(i); GUI.getInstance().jLabel6.setText(conversion(i) + "/" + timeTotal); } } catch (NoPlayerException noplayeur) { noplayeur.printStackTrace(); } catch (IOException io) { io.printStackTrace(); } } while (REPEATMEDIA == ACTIVE); } CURRENTINDEXMEDIA = CURRENTINDEXMEDIA + 1; br = FileEdited.openFile(playlist.getName(), CURRENTINDEXMEDIA); s = br.readLine(); br.close(); CURRENTMEDIA = s; } // fin de while on a atteint la fin du fichier // est assez important car il faut reinitialiser les param�tres et tester // si repeat eat actif // c'est � dire se replacer au debut du fichier. br = FileEdited.openFile(playlist.NAME, 0); s = br.readLine(); br.close(); CURRENTMEDIA = s; CURRENTINDEXMEDIA = 0; } while (REPEATPLAYLIST == ACTIVE); // fin de la grande boucle qui tete repeat // playlist }