.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. 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
  3. 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.
     
  4. Java xyrse123
    Java xyrse123 Mitglied
    Wieso den nicht?
    In der Insel stand es so beschrieben
     
  5. mrBrown
    mrBrown Super-Moderator Mitarbeiter
    Theoretisch geht das schon...aber Musik abspielen gehört ganz sicher nicht zur Initialisierung der Klasse, oder?
     
  6. Java xyrse123
    Java xyrse123 Mitglied
    Ja stimmt. Ich verstehe den Sinn davon auch nicht, die Musik vor der main Methode abzuspielen.
     
  7. mihe7
    mihe7 Aktives Mitglied
    Nö, die Reihenfolge der Methoden einer Klasse spielt im Quelltext keine Rolle :)
     
  8. 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?
     
  9. mrBrown
    mrBrown Super-Moderator Mitarbeiter
    Ist er das?
     
  10. mihe7
    mihe7 Aktives Mitglied
    Der Sound ist von der Initialisierung der Klasse abhängig?!? Wovon sprichst Du?
     

Die Seite wird geladen...

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

Jar Datein öffnen
Jar Datein öffnen im Forum Allgemeine Java-Themen
Probleme mit abspielen einer .wav Datei
Probleme mit abspielen einer .wav Datei im Forum Java Basics - Anfänger-Themen
Wohin mit der Konfigurationsdatei für Desktopapplikationen?
Wohin mit der Konfigurationsdatei für Desktopapplikationen? im Forum Allgemeine Java-Themen
FXML Datei aus dem SceneBuilder in Eclipse aufrufen
FXML Datei aus dem SceneBuilder in Eclipse aufrufen im Forum AWT, Swing, JavaFX & SWT
Wort suchen und ersetzen in einer Datei
Wort suchen und ersetzen in einer Datei im Forum Java Basics - Anfänger-Themen
Thema: .Wav Datei vor main-Methode abspielen?