File audio in java

Discussione in 'Java' iniziata da Jaco_, 27 Agosto 2019.

Tag (etichette):
  1. Jaco_

    Jaco_ Nuovo Utente

    Registrato:
    19 Giugno 2019
    Messaggi:
    10
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Qualcuno saprebbe dirmi perchè quando avvio il programma e premo il bottone 'go' viene riprodotto il file audio prima dei comandi scritti in precedenza.
    Qua sotto c'è il codice.
    Codice:
    import javax.swing.*;
    import java.awt.event.*;
    import java.awt.*;
    import java.io.File;
    import javax.sound.sampled.AudioSystem;
    import javax.sound.sampled.Clip;
    
    public class Moooseca extends JFrame{
    
      public JPanel pannello = new JPanel();
      public JPanel pannello1 = new JPanel();
      public JPanel pannello2 = new JPanel();
      public JPanel pannello3 = new JPanel();
      public JPanel pannello4 = new JPanel();
      public JTextField a = new JTextField(45);
      public JTextField b = new JTextField(45);
      public JLabel ris = new JLabel("");
      public JLabel no = new JLabel("sugg");
      public JLabel nno = new JLabel("risposta");
      public JButton passo = new JButton("passo");
      public JButton conf = new JButton("confermo");
      public JButton go = new JButton("Inizia gioco");
      public JButton aiuto = new JButton("Premi per continuare");
      public GridLayout l = new GridLayout(3, 1, 1, 1);
      public GridLayout l1 = new GridLayout(2, 2, 1, 1);
      public GridLayout l2 = new GridLayout(2, 1, 1, 1);
      public GridLayout l3 = new GridLayout(3, 1, 1, 1);
      public GridLayout l4 = new GridLayout(1, 1, 1, 1);
      public File popo = new File("");
      public File canz1 = new File("Estate.wav"); //0
        public File canz2 = new File("Veleno7.wav"); //1
        public File canz3 = new File("OldTownRoad.wav"); //2
      public File canz4 = new File("Another-Brick-in-the-wall.wav"); //3
      public File canz5 = new File("DoveQuando.wav"); //4
      public Clip sd;
      public int cont = 0;
      public int cvet = 0;
      public int p = 0;
      public int controllo = 0;
      public int v[] = new int[10];
      public String vet[] ={" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "};
      public String v1[] ={"estate addosso", "veleno7", "oldtownroad", "another brick in the wall", "dove e quando", " ", " ", " ", " ", " "};
    
      public Moooseca(){
        this.setTitle("Moooseca");
        this.setBounds(200, 200, 400, 400);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
        pannello.setLayout(l);
        pannello2.setLayout(l1);
        pannello1.setLayout(l2);
        pannello3.setLayout(l3);
        pannello4.setLayout(l4);
    
        pannello.add(pannello3);
        pannello3.add(ris);
        pannello3.add(no);
        pannello3.add(nno);
    
        pannello.add(pannello1);
        pannello1.add(a);
        pannello1.add(b);
    
        pannello.add(pannello2);
        pannello2.add(conf);
        pannello2.add(passo);
        pannello2.add(go);
        pannello2.add(aiuto);
    
        passo.setVisible(false);
        conf.setVisible(false);
        aiuto.setVisible(false);
        a.setEditable(false);
        b.setEditable(false);
    
        this.setContentPane(pannello);
            this.setVisible(true);
    
        go.addMouseListener(new Ascoltatore());
        conf.addMouseListener(new Ascoltatore2());
    
      }
    
      public static void main(String arg[]){
       Moooseca ogg = new Moooseca();
      }
    
      class Ascoltatore extends MouseAdapter{
            public void mouseClicked(MouseEvent oggettoEvento){
              int inutile = 0;
              if(inutile == 0){
              ris.setText("N:"+cvet+" DOMANDE "+"1:"+vet[0]+" 2:"+vet[1]+" 3:"+vet[2]+" 4:"+vet[3]+" 5:"+vet[4]+" 6:"+vet[5]+" 7:"+vet[6]+" 8:"+vet[7]+" 9:"+vet[8]+" 10:");
              passo.setVisible(true);
              conf.setVisible(true);
              aiuto.setVisible(true);
              a.setEditable(true);
              b.setEditable(true);
              inutile = 1;
            }
    
              if(inutile == 1){
              if(controllo == 0){
              cont = (int)(Math.random()*5);
              v[cvet] = cont;
              p = cvet;
              cvet++;
              controllo++;
              switch(cont){
                case 0:
                  popo = canz1;
                  break;
                case 1:
                  popo = canz2;
                  break;
                case 2:
                  popo = canz3;
                  break;
                case 3:
                  popo = canz4;
                  break;
                case 4:
                  popo = canz5;
                  break;
    
                default:
                  JOptionPane.showMessageDialog(null, "Errore!");
              }
              try{
    
                sd = AudioSystem.getClip();
                sd.open(AudioSystem.getAudioInputStream(popo));
                sd.start();
    
                Thread.sleep(sd.getMicrosecondLength()/ 1000);
    
                sd.close();
              } catch (Exception e){}
              }else{
                JOptionPane.showMessageDialog(null, "Questo pulsante e' disabilitato per tutta la durata del gioco");
              }
            }
            }
        }
    
      class Ascoltatore2 extends MouseAdapter{
            public void mouseClicked(MouseEvent oggettoEvento){
          if(oggettoEvento.getSource() == conf){
    
          String g;
          int n=0;
          g = a.getText();
          if(g == v1[p]){
              vet[p] = "V";
              ris.setText("N:"+cvet+" DOMANDE "+"1:"+vet[0]+"2:"+vet[1]+"3:"+vet[2]+"4:"+vet[3]+"5:"+vet[4]+"6:"+vet[5]+"7:"+vet[6]+"8:"+vet[7]+"9:"+vet[8]+"10:"+vet[9]);
          }else{
            vet[p] = "F";
            ris.setText("N:"+cvet+" DOMANDE "+"1:"+vet[0]+"2:"+vet[1]+"3:"+vet[2]+"4:"+vet[3]+"5:"+vet[4]+"6:"+vet[5]+"7:"+vet[6]+"8:"+vet[7]+"9:"+vet[8]+"10:"+vet[9]);
          }
    
          int f = 0;
          if(cvet<10){
          cont = (int)(Math.random()*5);
          f = cont;
          for(int i=0;i<cvet;i++){
            if(f == v[i]){
              cont = (int)(Math.random()*5);
              f = cont;
              i = -1;
            }
          }
          v[cvet] = cont;
          p = cvet;
          cvet++;
        }
                switch(cont){
                    case 0:
                        popo = canz1;
                        break;
                    case 1:
                        popo = canz2;
                        break;
                    case 2:
                        popo = canz3;
                        break;
            case 3:
                      popo = canz4;
                      break;
            case 4:
                    popo = canz5;
                    break;
    
                    default:
                        JOptionPane.showMessageDialog(null, "Errore!");
                }
    
                try{
    
                    sd = AudioSystem.getClip();
                    sd.open(AudioSystem.getAudioInputStream(popo));
                    sd.start();
    
                    Thread.sleep(sd.getMicrosecondLength()/ 1000);
    
                    sd.close();
                } catch (Exception e){}
    
    
    
     
Sto caricando...

Condividi questa Pagina