.Wav Datei vor main-Methode abspielen?

Diskutiere .Wav Datei vor main-Methode abspielen? im Spiele- und Multimedia-Programmierung Forum; Ich will, dass eine WAV-Datei abgespielt wird, wenn, zum Beispiel "playerProbability" eins ist. Jedoch müsste ich dies vor der main-Methode...

  1. PaddyFH
    PaddyFH Neues Mitglied
    Ich will, dass eine WAV-Datei abgespielt wird, wenn, zum Beispiel "playerProbability" eins ist. Jedoch müsste ich dies vor der main-Methode machen, oder? Tut mir leid, wenn ich heute auf dem Schlauch stehe und die Lösung eigentlich einfach wäre:D Hier noch der Code:

    Code (Java):

        import java.awt.event.ActionEvent;
        import java.awt.event.ActionListener;
        import java.awt.event.KeyEvent;

        import javax.swing.AbstractAction;
        import javax.swing.ImageIcon;
        import javax.swing.JButton;
        import javax.swing.JComponent;
        import javax.swing.JFrame;
        import javax.swing.KeyStroke;

        public class Grafik extends JFrame implements ActionListener {

        private JButton button;

           public Grafik() {
               getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(
                       KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), "Cancel");
                   getRootPane().getActionMap().put("Cancel", new AbstractAction(){
                       public void actionPerformed(ActionEvent e)
                       {
                           dispose();
                       }
                   });
               button = new JButton();
               button.addActionListener(this);
               button.setIcon(new ImageIcon("image.jpg"));

               this.getContentPane().add(button);

           }
           public void actionPerformed(ActionEvent e) {
               if(e.getSource() == button){
                   int playerProbability =(int)(Math.random()*5+1);
                   if (playerProbability == 1 ) {
                       System.out.println("text");
                       //sound
                   }  
                   else {
                       System.out.println("text");
                       //sound
                       int computerProbability =(int)(Math.random()*5+1);
                           if (computerProbability == 1) {
                               System.out.println("text");
                               //sound
                           }
                           else {
                               System.out.println("text");
                               //sound
                           }
                   }
               }
           }
           public static void main(String[] args) {
               JFrame bec = new Grafik();
               bec.setDefaultCloseOperation(Grafik.EXIT_ON_CLOSE);
               bec.setSize(634, 634);
               bec.setVisible(true);
               bec.setTitle("title");
               bec.requestFocus();
          }
        }
     
    Danke für die Hilfe!
     
    Zuletzt von einem Moderator bearbeitet: 9. Juni 2018
  2. Vielleicht hilft dir diese Seite hier weiter (Klick!)
  3. Java xyrse123
    Java xyrse123 Mitglied
    Ein static block wird vor der main Methode ausgeführt, vielleicht hilft es dir ja weiter.

    Code (Java):
    static {
    // hier die Musik abspielen
    }
     
    Zuletzt bearbeitet: 9. Juni 2018
  4. mrBrown
    mrBrown Super-Moderator Mitarbeiter
    Bitte nicht...


    Die main-Methode ist der Start deines Programms, ein "davor" solltest du einfach als nicht existent ansehen.
    Die Variable playerProbability gibt es auch nur in der einen Methode - außerhalb existiert sie einfach nicht. Wenn das abspielen abhängig von dieser ist, dann muss es in der Methode passieren (oder mindestens danach, damit du den Wert passend weitergeben kannst).
    Die entsprechenden Stellen hast du ja schon markiert, dort musst du dann einfach noch den Sound abspielen. "vor der main-Methode" ist da aber nichts bei.
     
  5. Java xyrse123
    Java xyrse123 Mitglied
    Wieso den nicht?
    In der Insel stand es so beschrieben
     
  6. mrBrown
    mrBrown Super-Moderator Mitarbeiter
    Theoretisch geht das schon...aber Musik abspielen gehört ganz sicher nicht zur Initialisierung der Klasse, oder?
     
  7. Java xyrse123
    Java xyrse123 Mitglied
    Ja stimmt. Ich verstehe den Sinn davon auch nicht, die Musik vor der main Methode abzuspielen.
     
  8. mihe7
    mihe7 Bekanntes Mitglied
    Nö, die Reihenfolge der Methoden einer Klasse spielt im Quelltext keine Rolle :)
     
  9. PaddyFH
    PaddyFH Neues Mitglied
    Ich finde es an sich natürlich auch nicht gut/ praktisch, aber da der Sound von der Initalisierung der Klasse abhängig ist, und ich die main Methode natürlich nicht davor setzen kann versuche ich den Sound dort abzuspielen. Oder brauch ich einen ganz anderen Ansatz?
     
  10. mrBrown
    mrBrown Super-Moderator Mitarbeiter
    Ist er das?
     
  11. mihe7
    mihe7 Bekanntes Mitglied
    Der Sound ist von der Initialisierung der Klasse abhängig?!? Wovon sprichst Du?
     
  12. Hinweis: Du möchtest Java lernen? Vielleicht hilft dir dieses Training hier weiter. Sichere dir hier den Zugriff auf umfangreiches Java-Know How und starte richtig durch!
Die Seite wird geladen...

.Wav Datei vor main-Methode abspielen? - Ähnliche Themen

Intellij Java Datei aus nicht Projekt ausführen?
Intellij Java Datei aus nicht Projekt ausführen? im Forum Java Basics - Anfänger-Themen
TextField-Inhalt mit Button in .txt-Datei speichern
TextField-Inhalt mit Button in .txt-Datei speichern im Forum Java Basics - Anfänger-Themen
JMenuBar Datei -> Einstellungen
JMenuBar Datei -> Einstellungen im Forum Java Basics - Anfänger-Themen
Ausgabe von Dateiinhalt während Programmnutzung fehlerhaft
Ausgabe von Dateiinhalt während Programmnutzung fehlerhaft im Forum Java Basics - Anfänger-Themen
NullPointerException bei Dateigröße (Nr.1)
NullPointerException bei Dateigröße (Nr.1) im Forum Java Basics - Anfänger-Themen
Thema: .Wav Datei vor main-Methode abspielen?