Почему звук моей программы работает в затмении, а не при генерации в банке

1

Поэтому после долгого времени кодирования я был готов экспортировать свою программу! но тогда я получил эту странную вещь, что звук не работал.. но это было в Eclipse! не могли бы вы мне помочь? это очень полезно!

package me.NL.framed;


       import java.awt.Color;
       import java.awt.Toolkit;
       import java.awt.event.ActionEvent;
       import java.awt.event.ActionListener;


       import javax.swing.ImageIcon;
       import javax.swing.JButton;
       import javax.swing.JFrame;
       import javax.swing.JLabel;
       import javax.swing.JPasswordField;
       import javax.swing.JTextArea;
       import javax.swing.JTextField;

   public class JpanelFrame {





    public JpanelFrame() {





    ImageIcon image = new ImageIcon(getClass().getResource("/Rescources/img/SpashImg.png"));
    ImageIcon image2 = new ImageIcon(getClass().getResource("/Rescources/img/Backgroundgame.png"));
    JLabel imglabel = new JLabel(image);
    JLabel imglabel2 = new JLabel(image2);





    // splash screen
    JFrame splash = new JFrame("Loading..");
    splash.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/Rescources/img/Icon.png")));
    splash.setSize(480, 240);
    splash.add(imglabel);
    splash.setLocationRelativeTo(null);
    splash.setResizable(false);
    splash.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    splash.setUndecorated(true);

    // login stuff

    final JButton lb3 = new JButton("Log in");
    lb3.setBounds(335,47,90,60);

    final JTextField Txp1 = new JTextField();
    Txp1.setVisible(false);
    Txp1.setBounds(70,50,250,20);

    final JTextField Txp3 = new JTextField();
    Txp3.setEditable(false);
    Txp3.setText("Username:");
    Txp3.setBounds(3,48,250,20);
    Txp3.setBorder(null);


    final JTextField Txp4 = new JTextField();
    Txp4.setEditable(false);
    Txp4.setText("Password:");
    Txp4.setBounds(3,84,250,20);
    Txp4.setBorder(null);

    final JPasswordField Txp2 = new JPasswordField();
    Txp2.setVisible(false);
    Txp2.setBounds(70,85,250,20);

    // Log in
    final JFrame login = new JFrame("Login om te starten");
    login.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/Rescources/img/Icon.png")));
    login.setSize(480, 240);
    login.setLayout(null);
    login.add(Txp1);
    Txp1.setVisible(true);
    login.add(Txp2);
    Txp2.setVisible(true);
    login.add(lb3);
    lb3.setVisible(true);
    login.add(Txp3);
    Txp3.setVisible(true);
    login.add(Txp4);
    Txp4.setVisible(true);
    login.setLocationRelativeTo(null);
    login.setResizable(false);
    login.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


    try {
        splash.setVisible(true);
        Sound.playSound("start.wav");
        Thread.sleep(5000);
        splash.setVisible(false);
        login.setVisible(true);
        Thread.sleep(600);

    } catch (InterruptedException e1) {

        e1.printStackTrace();
    }



    final JButton b1 = new JButton("Nederlands Zinsdeel hulp");
    b1.setBounds(300, 200, 370, 40);

    final JButton b2 = new JButton("Uitloggen");
    b2.setBounds(300, 259, 370, 40);


    // Tweede gedeelte

    final JLabel Tex1 = new JLabel("Hoe vind je de persoonsvorm?");
    Tex1.setForeground(Color.BLACK);



    Tex1.setVisible(false);
    Tex1.setBounds(250, 350, 500, 20);


    final JTextField Tx1 = new JTextField();
    Tx1.setVisible(false);
    Tx1.setBounds(250,370,500,20);

    final JButton b3 = new JButton("Volgende");
    b3.setVisible(false);
    b3.setBounds(300,400,100,30);

    // Derde Gedeelte

    final JLabel Tex2 = new JLabel("Hoe krijg je het onderwerp van een zin?");
    Tex2.setForeground(Color.BLACK);


    Tex2.setVisible(false);
    Tex2.setBounds(250, 350, 500, 20);


    final JTextField Tx2 = new JTextField();
    Tx2.setVisible(false);
    Tx2.setBounds(250,370,500,20);

    final JButton b4 = new JButton("Volgende");
    b4.setVisible(false);
    b4.setBounds(300,400,100,30);

    // Vierde gedeelte
    final JLabel Tex3 = new JLabel("Wat is een werkwoordelijk gezegde (WG)?");
    Tex3.setForeground(Color.BLACK);


    Tex3.setVisible(false);
    Tex3.setBounds(250, 350, 500, 20);


    final JTextField Tx3 = new JTextField();
    Tx3.setVisible(false);
    Tx3.setBounds(250,370,500,20);

    final JButton b5 = new JButton("Volgende");
    b5.setVisible(false);
    b5.setBounds(300,400,100,30);



    // Vijfde gedeelte
    final JLabel Tex4 = new JLabel("Wat is een lijdend voorwerp?");
    Tex4.setForeground(Color.BLACK);


    Tex4.setVisible(false);
    Tex4.setBounds(250, 350, 500, 20);


    final JTextField Tx4 = new JTextField();
    Tx4.setVisible(false);
    Tx4.setBounds(250,370,500,20);

    final JButton b6 = new JButton("Volgende");
    b6.setVisible(false);
    b6.setBounds(300,400,100,30);

    // Zesde gedeelte

    final JLabel Tex5 = new JLabel("Wat is een meewerkend voorwerp?");
    Tex5.setForeground(Color.BLACK);


    Tex5.setVisible(false);
    Tex5.setBounds(250, 350, 500, 20);


    final JTextField Tx5 = new JTextField();
    Tx5.setVisible(false);
    Tx5.setBounds(250,370,500,20);

    final JButton b7 = new JButton("Volgende");
    b7.setVisible(false);
    b7.setBounds(300,400,100,30);


    // zevende gedeelte
    final JLabel Tex6 = new JLabel("Wat is een bijwoordelijke bepaling?");
    Tex6.setForeground(Color.BLACK);


    Tex6.setVisible(false);
    Tex6.setBounds(250, 350, 500, 20);


    final JTextField Tx6 = new JTextField();
    Tx6.setVisible(false);
    Tx6.setBounds(250,370,500,20);

    final JButton b8 = new JButton("Volgende");
    b8.setVisible(false);
    b8.setBounds(300,400,100,30);

    // achtste gedeelte


    final JLabel Tex7 = new JLabel("Wat is een bijwoordelijke bepaling?");
    Tex7.setForeground(Color.BLACK);


    Tex7.setVisible(false);
    Tex7.setBounds(250, 350, 500, 20);


    final JTextField Tx7 = new JTextField();
    Tx7.setVisible(false);
    Tx7.setBounds(250,370,500,20);

    final JButton b9 = new JButton("Volgende");
    b9.setVisible(false);
    b9.setBounds(300,400,100,30);
    // negende gedeelte

    // tiende gedeelte

    final JLabel Tex8 = new JLabel("Wat is het onderwerp in deze zin?");
    Tex8.setForeground(Color.BLACK);


    Tex8.setVisible(false);
    Tex8.setBounds(250, 350, 500, 20);

    final JTextArea ow1 = new JTextArea("De kat rent weg van de man.");
    ow1.setEditable(false);


    ow1.setVisible(false);
    ow1.setBounds(250, 350, 500, 20);



    final JTextField Tx8 = new JTextField();
    Tx8.setVisible(false);
    Tx8.setBounds(250,370,500,20);

    final JButton b10 = new JButton("Volgende");
    b10.setVisible(false);
    b10.setBounds(300,400,100,30);
    // negende gedeelte

    // elfde gedeelte


    b1.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            b1.setVisible(false);   
            b2.setBounds(300, 725, 370, 40);
            b3.setVisible(true);
            Tx1.setVisible(true);
            Tex1.setVisible(true);

        }

        });





        b3.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {




                if(Tx1.getText().contains("andere tijd") || Tx1.getText().contains("verleden tijd") || Tx1.getText().contains("vraagzin")) {
                    Tex1.setVisible(false);
                    Tx1.setVisible(false);
                    b3.setVisible(false);
                    Score.goed++;
                    Score.Streak++;
                    if(Score.Streak == 1) {
                        Sound.playSound("Wow.wav");
                    } else if(Score.Streak == 2) {
                        Sound.playSound("damnson.wav");
                    } else if(Score.Streak == 3) {
                        Sound.playSound("Triple.wav");
                    } else if(Score.Streak == 4) {
                        Sound.playSound("neverdone.wav");
                    } else if(Score.Streak == 5) {
                        Sound.playSound("airhorn.wav");
                    } else if(Score.Streak == 6) {
                        Sound.playSound("omgtrick.wav");
                    } else if(Score.Streak == 7) {
                        Sound.playSound("camera.wav");
                    } else if(Score.Streak == 8) {
                        Sound.playSound("omygod.wav");
                    } else if(Score.Streak == 9) {
                        Sound.playSound("scaryskrill.wav");
                    } else if(Score.Streak == 10) {
                        Sound.playSound("SANIC.wav");
                    } else if(Score.Streak == 11) {
                        Sound.playSound("illuminati.wav");
                    } else if(Score.Streak == 12) {
                        Sound.playSound("Tactical.wav");    
                    }
                //  Sound.listSounds();

                    Tex2.setVisible(true);
                    Tx2.setVisible(true);
                    b4.setVisible(true);
                } else {
                    Score.fout++;
                    Score.Streak = 0;
                }
            }
                });


                    b4.addActionListener(new ActionListener() {

                        @Override
                        public void actionPerformed(ActionEvent e) {
                            if(Tx2.getText().contains("wie/wat + persoonsvorm") || Tx2.getText().contains("wie of wat en persoonsvorm")
                                    || Tx2.getText().contains("wie of wat + persoonsvorm") || Tx2.getText().contains("wie/wat en persoonsvorm")) {
                            Tex2.setVisible(false);
                            Tx2.setVisible(false);
                            b4.setVisible(false);
                            Score.goed++;
                            Score.Streak++;
                            if(Score.Streak == 1) {
                                Sound.playSound("Wow.wav");
                            } else if(Score.Streak == 2) {
                                Sound.playSound("damnson.wav");
                            } else if(Score.Streak == 3) {
                                Sound.playSound("Triple.wav");
                            } else if(Score.Streak == 4) {
                                Sound.playSound("neverdone.wav");
                            } else if(Score.Streak == 5) {
                                Sound.playSound("airhorn.wav");
                            } else if(Score.Streak == 6) {
                                Sound.playSound("omgtrick.wav");
                            } else if(Score.Streak == 7) {
                                Sound.playSound("camera.wav");
                            } else if(Score.Streak == 8) {
                                Sound.playSound("omygod.wav");
                            } else if(Score.Streak == 9) {
                                Sound.playSound("scaryskrill.wav");
                            } else if(Score.Streak == 10) {
                                Sound.playSound("SANIC.wav");
                            } else if(Score.Streak == 11) {
                                Sound.playSound("illuminati.wav");
                            } else if(Score.Streak == 12) {
                                Sound.playSound("Tactical.wav");    
                            }

                            Tex3.setVisible(true);
                            Tx3.setVisible(true);
                            b5.setVisible(true);



                            } else {
                                Score.fout++;
                                Score.Streak = 0;
                            }
                        }

                    });

                    b5.addActionListener(new ActionListener() {

                        @Override
                        public void actionPerformed(ActionEvent e) {
                            if(Tx3.getText().contains("werkwoorden")) {
                                Tex3.setVisible(false);
                                Tx3.setVisible(false);
                                b5.setVisible(false);
                                Score.goed++;
                                Score.Streak++;
                                if(Score.Streak == 1) {
                                    Sound.playSound("Wow.wav");
                                } else if(Score.Streak == 2) {
                                    Sound.playSound("damnson.wav");
                                } else if(Score.Streak == 3) {
                                    Sound.playSound("Triple.wav");
                                } else if(Score.Streak == 4) {
                                    Sound.playSound("neverdone.wav");
                                } else if(Score.Streak == 5) {
                                    Sound.playSound("airhorn.wav");
                                } else if(Score.Streak == 6) {
                                    Sound.playSound("omgtrick.wav");
                                } else if(Score.Streak == 7) {
                                    Sound.playSound("camera.wav");
                                } else if(Score.Streak == 8) {
                                    Sound.playSound("omygod.wav");
                                } else if(Score.Streak == 9) {
                                    Sound.playSound("scaryskrill.wav");
                                } else if(Score.Streak == 10) {
                                    Sound.playSound("SANIC.wav");
                                } else if(Score.Streak == 11) {
                                    Sound.playSound("illuminati.wav");
                                } else if(Score.Streak == 12) {
                                    Sound.playSound("Tactical.wav");    
                                }

                                Tex4.setVisible(true);
                                Tx4.setVisible(true);
                                b6.setVisible(true);

                            } else {
                                Score.fout++;
                                Score.Streak = 0;
                            }


                        }

                    });

                    b6.addActionListener(new ActionListener() {

                        @Override
                        public void actionPerformed(ActionEvent e) {
                            if(Tx4.getText().contains("zinsdelen") || Tx4.getText().contains("Wie of wat + alle eerder gevonden zinsdelen")
                                    || Tx4.getText().contains("Wie/wat en alle eerder gevonden zinsdelen") || Tx4.getText().contains("Wie of wat en alle eerder gevonden zinsdelen")) {

                                Tex4.setVisible(false);
                                Tx4.setVisible(false);
                                b6.setVisible(false);
                                Score.goed++;
                                Score.Streak++;
                                if(Score.Streak == 1) {
                                    Sound.playSound("Wow.wav");
                                } else if(Score.Streak == 2) {
                                    Sound.playSound("damnson.wav");
                                } else if(Score.Streak == 3) {
                                    Sound.playSound("Triple.wav");
                                } else if(Score.Streak == 4) {
                                    Sound.playSound("neverdone.wav");
                                } else if(Score.Streak == 5) {
                                    Sound.playSound("airhorn.wav");
                                } else if(Score.Streak == 6) {
                                    Sound.playSound("omgtrick.wav");
                                } else if(Score.Streak == 7) {
                                    Sound.playSound("camera.wav");
                                } else if(Score.Streak == 8) {
                                    Sound.playSound("omygod.wav");
                                } else if(Score.Streak == 9) {
                                    Sound.playSound("scaryskrill.wav");
                                } else if(Score.Streak == 10) {
                                    Sound.playSound("SANIC.wav");
                                } else if(Score.Streak == 11) {
                                    Sound.playSound("illuminati.wav");
                                } else if(Score.Streak == 12) {
                                    Sound.playSound("Tactical.wav");    
                                }

                                Tex5.setVisible(true);
                                Tx5.setVisible(true);
                                b7.setVisible(true);

                            } else {
                                Score.fout++;
                                Score.Streak = 0;
                            }
                        }

                    });

                    b7.addActionListener(new ActionListener() {

                        @Override
                        public void actionPerformed(ActionEvent e) {
                            if(Tx5.getText().contains("plaats of     ...     ...tijd       tijd")           || Tx5.getText().contains("plaats of tijd")) {
                            Tex5.setVisible(false);
                            Tx5.setVisible(false);
                            b7.setVisible(false);
                            Score.goed++;
                            Score.Streak++;
                            if(Score.Streak == 1) {
                                Sound.playSound("Wow.wav");
                            } else if(Score.Streak == 2) {
                                Sound.playSound("damnson.wav");
                            } else if(Score.Streak == 3) {
                                Sound.playSound("Triple.wav");
                            } else if(Score.Streak == 4) {
                                Sound.playSound("neverdone.wav");
                            } else if(Score.Streak == 5) {
                                Sound.playSound("airhorn.wav");
                            } else if(Score.Streak == 6) {
                                Sound.playSound("omgtrick.wav");
                            } else if(Score.Streak == 7) {
                                Sound.playSound("camera.wav");
                            } else if(Score.Streak == 8) {
                                Sound.playSound("omygod.wav");
                            } else if(Score.Streak == 9) {
                                Sound.playSound("scaryskrill.wav");
                            } else if(Score.Streak == 10) {
                                Sound.playSound("SANIC.wav");
                            } else if(Score.Streak == 11) {
                                Sound.playSound("illuminati.wav");
                            } else if(Score.Streak == 12) {
                                Sound.playSound("Tactical.wav");    
                            }

                            Tex6.setVisible(true);
                            Tx6.setVisible(true);
                            b8.setVisible(true);


                            } else {
                                Score.fout++;
                                Score.Streak = 0;
                            }
                        }
                    });


                    b8.addActionListener(new ActionListener() {

                        @Override
                        public void actionPerformed(ActionEvent e) {
                            if(Tx6.getText().contains("zelfstandig naamwoord")) {
                                Tex6.setVisible(false);
                                Tx6.setVisible(false);
                                b8.setVisible(false);
                                Score.goed++;
                                Score.Streak++;
                                if(Score.Streak == 1) {
                                    Sound.playSound("Wow.wav");
                                } else if(Score.Streak == 2) {
                                    Sound.playSound("damnson.wav");
                                } else if(Score.Streak == 3) {
                                    Sound.playSound("Triple.wav");
                                } else if(Score.Streak == 4) {
                                    Sound.playSound("neverdone.wav");
                                } else if(Score.Streak == 5) {
                                    Sound.playSound("airhorn.wav");
                                } else if(Score.Streak == 6) {
                                    Sound.playSound("omgtrick.wav");
                                } else if(Score.Streak == 7) {
                                    Sound.playSound("camera.wav");
                                } else if(Score.Streak == 8) {
                                    Sound.playSound("omygod.wav");
                                } else if(Score.Streak == 9) {
                                    Sound.playSound("scaryskrill.wav");
                                } else if(Score.Streak == 10) {
                                    Sound.playSound("SANIC.wav");
                                } else if(Score.Streak == 11) {
                                    Sound.playSound("illuminati.wav");
                                } else if(Score.Streak == 12) {
                                    Sound.playSound("Tactical.wav");    
                                }

                                Tex7.setVisible(true);
                                Tx7.setVisible(true);
                                b9.setVisible(true);


                                } else {
                                    Score.fout++;
                                    Score.Streak = 0;
                                }   


                        }

                    });

                    b9.addActionListener(new ActionListener() {

                        @Override
                        public void actionPerformed(ActionEvent e) {
                            if(Tx7.getText().contains("zelfstandig naamwoord")) {
                                Tex7.setVisible(false);
                                Tx7.setVisible(false);
                                b9.setVisible(false);
                                Score.goed++;
                                Score.Streak++;
                                if(Score.Streak == 1) {
                                    Sound.playSound("Wow.wav");
                                } else if(Score.Streak == 2) {
                                    Sound.playSound("damnson.wav");
                                } else if(Score.Streak == 3) {
                                    Sound.playSound("Triple.wav");
                                } else if(Score.Streak == 4) {
                                    Sound.playSound("neverdone.wav");
                                } else if(Score.Streak == 5) {
                                    Sound.playSound("airhorn.wav");
                                } else if(Score.Streak == 6) {
                                    Sound.playSound("omgtrick.wav");
                                } else if(Score.Streak == 7) {
                                    Sound.playSound("camera.wav");
                                } else if(Score.Streak == 8) {
                                    Sound.playSound("omygod.wav");
                                } else if(Score.Streak == 9) {
                                    Sound.playSound("scaryskrill.wav");
                                } else if(Score.Streak == 10) {
                                    Sound.playSound("SANIC.wav");
                                } else if(Score.Streak == 11) {
                                    Sound.playSound("illuminati.wav");
                                } else if(Score.Streak == 12) {
                                    Sound.playSound("Tactical.wav");    
                                }

                                Tex8.setVisible(true);
                                Tx8.setVisible(true);
                                b10.setVisible(true);


                                } else {
                                    Score.fout++;
                                }   


                        }

                    });











    final JFrame frame = new JFrame("Nederlands hulp");


    frame.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/Rescources/img/Icon.png")));


    frame.setSize(1000, 800);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setResizable(false);

    // Knoppen
            frame.add(b1);
            frame.add(b2);
            frame.add(b3);
            frame.add(b4);
            frame.add(b5);
            frame.add(b6);
            frame.add(b7);
            frame.add(b8);
            frame.add(b9);
            frame.add(b10);


            // Textfields
            frame.add(Tx1);
            frame.add(Tx2);
            frame.add(Tx3);
            frame.add(Tx4);
            frame.add(Tx5);
            frame.add(Tx6);
            frame.add(Tx7);
            frame.add(Tx8);

            // Text areas
            frame.add(Tex1);
            frame.add(Tex2);
            frame.add(Tex3);
            frame.add(Tex4);
            frame.add(Tex5);
            frame.add(Tex6);
            frame.add(Tex7);
            frame.add(Tex8);

            // Ander
            frame.add(ow1);

    frame.add(imglabel2);
    imglabel2.setBounds(0, 0, 1000, 800);

    frame.setLocationRelativeTo(null);
    frame.getContentPane().setBackground(Color.BLACK);
    frame.setLayout(null);



    b2.addActionListener(new ActionListener() {


        public void actionPerformed(ActionEvent e) {
            System.exit(0);
            System.out.println("Alle Taken Gestopt");

        }

    });

    lb3.addActionListener(new ActionListener() {




        @SuppressWarnings("deprecation")
        @Override
        public void actionPerformed(ActionEvent e) {
            if(Txp1.getText().contains("leerling") && Txp2.getText().contains("78132")) {
                login.setVisible(false);
                frame.setVisible(true);

            }

        }

    });

    // eerste gedeelte




    }
    public static void main(String[] args) {
    new JpanelFrame();  


    }



   }

   /*
    * 
    * Toevoegen:
    * MLG Geluid op goed streak [Klaar]
    * Meer dingen voor frame
    *  Frame achtergrond
    *  knop plaatje
    *  Splash screen [Klaar]
    *  Login [Klaar]
    */

И мой класс аудио:

 package me.NL.framed;

 import javax.sound.sampled.AudioInputStream;
 import javax.sound.sampled.AudioSystem;
 import javax.sound.sampled.Clip;

 public class Sound {





 public static synchronized void playSound(final String url) {





        new Thread(new Runnable() {  // the wrapper thread is unnecessary, unless it blocks on the Clip finishing, see comments
          public void run() {

            try {
              Clip clip = AudioSystem.getClip();
              AudioInputStream inputStream =     A udioSystem.getAudioInputStream(Sound.class.getResource("/Rescources/" + url));
              clip.open(inputStream);
              clip.start(); 
            } catch (Exception e) {
              System.err.println(e.getMessage());
            }
          }
        }).start();
      }




  }
  • 0
    Кстати, это для видео YT я делаю
  • 0
    Есть ли сообщение об ошибке? Согласно тому, что вы показали, папка «Ресурсы» должна быть подпапкой папки, содержащей класс «Звук». (Проверьте api для getResource () для объяснения правил адресации, например, следует ли включать запуск "/" или нет.) Кстати, если вы не планируете хранить и повторно использовать клип, SourceDataLine будет более эффективным вариантом с меньшей задержкой.
Теги:
audio

1 ответ

0

В любом случае вам необходимо убедиться, что ресурс, обозначенный

"/Rescources/" + url

Фактически доступен в вашем пути к классу, либо в форме банки, либо в виде папки.

Причина, по которой она работает в eclipse, вероятно, связана с тем, что eclipse может копировать папку Resource в ваш каталог bin или classes.

  • 0
    Мой английский не очень хорош (в форме для чтения), не могли бы вы дать мне немного больше объяснений? как я знаю, вы говорите, что пути могут быть разными, но тогда какой путь мне нужно использовать?
  • 0
    Пожалуйста, проверьте файл JAR и убедитесь, что в нем есть каталог «Ресурсы».
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню