Midi stoppt trotz stop button nicht

Status
Nicht offen für weitere Antworten.
K

Kami

Gast
hallo liebe progRamer,

ich programmiere grad ein kleines spiel, bei dem ich als hintergrundsound ein .midi file laufen lasse. ich möchte dem benutzer natürlich die möglichkeit geben, die musik zu stoppen. nur funktioniert es nich :(
das macht mich traurig.

hier ist mal der code

Code:
package informatikaufgabe;

import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Random;
import java.io.*;
import javax.sound.midi.*;
import javax.imageio.ImageIO;
import java.io.IOException;
import java.net.URL;

/**
 * 

Überschrift: </p>
 * 

Beschreibung: </p>
 * 

Copyright: Copyright (c) 2007</p>
 * 

Organisation: </p>
 * @author unbekannt
 * @version 1.0
 */

public class InformatikAufgabeFrame extends JFrame  {
  //deklarieren
  Color zufall,red,blue,green;
  int x,y,z;
  public int rot;
  public int gruen;
  public int blau;



  public void paint (Graphics g) {
    super.paint(g);

}

//soundkram












  JPanel contentPane;
  JScrollBar s1 = new JScrollBar();
  JScrollBar s2 = new JScrollBar();
  JScrollBar s3 = new JScrollBar();
  JTextField rotwert = new JTextField();
  JTextField gruenwert = new JTextField();
  JTextField blauwert = new JTextField();
  JTextField rgbwerte = new JTextField();
  JButton solution = new JButton();
  JButton spielstarten = new JButton(new ImageIcon("data\\normalstartbtn.gif"));
  //rollover icon
  Icon rolloverIcon = new ImageIcon("data\\overstartbtn.gif");

    //pressed icon
  Icon pressedIcon = new ImageIcon("data\\overstartbtn.gif");


  JLabel bild = new JLabel(new ImageIcon("data\\intro.gif"));
  JTextArea greetz = new JTextArea();

  JButton soundanaus = new JButton();



  //Den Frame konstruieren
  public InformatikAufgabeFrame() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }

  //Initialisierung der Komponenten
  private void jbInit() throws Exception  {

    //sound
    //Sequencer initialisieren,öffnen und midi regeln
Sequencer sequencer = MidiSystem.getSequencer();
     sequencer.open();
     Sequence seq = MidiSystem.getSequence(new File("data\\mc_gyver.mid"));
     sequencer.setSequence(seq);
     sequencer.setTempoInBPM(145);
     sequencer.start();






    contentPane = (JPanel) this.getContentPane();
    contentPane.setLayout(null);
    this.getContentPane().setBackground(Color.lightGray);
    this.setContentPane(contentPane);
    this.setCursor(null);
    this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    this.setForeground(Color.lightGray);
    this.setLocale(java.util.Locale.getDefault());
    this.setResizable(false);
    this.setSize(new Dimension(400,500));
    this.setState(Frame.NORMAL);
    this.setTitle("Farbenspiel");


    s1.setName("rot");
    s1.setBounds(new Rectangle(9, 312, 287, 23));
    s1.setOrientation(JScrollBar.HORIZONTAL);
    s1.setMaximum(265);
    s1.setMinimum(0);
    s1.setPreferredSize(new Dimension(17, 48));
    s1.addAdjustmentListener(new InformatikAufgabeFrame_s1_adjustmentAdapter(this));



    s2.setName("grün");
    s2.setBounds(new Rectangle(9, 344, 287, 23));
    s2.setOrientation(JScrollBar.HORIZONTAL);
    s2.setMaximum(265);
    s2.setMinimum(0);
    s2.setPreferredSize(new Dimension(17, 48));
    s2.addAdjustmentListener(new InformatikAufgabeFrame_s2_adjustmentAdapter(this));


    s3.setName("blau");
    s3.setBounds(new Rectangle(9, 375, 287, 23));
    s3.setOrientation(JScrollBar.HORIZONTAL);
    s3.setMaximum(265);
    s3.setMinimum(0);
    s3.setPreferredSize(new Dimension(17, 48));
    s3.addAdjustmentListener(new InformatikAufgabeFrame_s3_adjustmentAdapter(this));



    contentPane.setBackground(Color.black);
    contentPane.setEnabled(true);
    contentPane.setFont(new java.awt.Font("MS Sans Serif", 0, 11));
    contentPane.setAlignmentX((float) 0.5);
    contentPane.setDebugGraphicsOptions(0);
    contentPane.setDoubleBuffered(false);
    contentPane.setNextFocusableComponent(this);




    rotwert.setEditable(false);
    rotwert.setText("Rot :");
    rotwert.setBounds(new Rectangle(305, 312, 88, 20));
    gruenwert.setEditable(false);
    gruenwert.setText("Grün :");
    gruenwert.setBounds(new Rectangle(305, 345, 88, 20));
    blauwert.setEditable(false);
    blauwert.setText("Blau :");
    blauwert.setBounds(new Rectangle(305, 376, 88, 20));

    rgbwerte.setEditable(false);
    rgbwerte.setBounds(new Rectangle(110, 427, 175, 27));
    solution.setBounds(new Rectangle(23, 427, 75, 23));
    solution.setToolTipText("Looser!!!");
    solution.setText("Lösung?");
    solution.addActionListener(new InformatikAufgabeFrame_solution_actionAdapter(this));
    spielstarten.setBounds(new Rectangle(92, 10, 177, 27));
    spielstarten.setToolTipText("Klicken um zu starten!");
    spielstarten.setBorderPainted(true);
    spielstarten.setContentAreaFilled(false);
    spielstarten.setPressedIcon(pressedIcon);
    spielstarten.setRolloverIcon(rolloverIcon);
    spielstarten.setText("Spiel starten!");
    spielstarten.addActionListener(new InformatikAufgabeFrame_spielstarten_actionAdapter(this));
    bild.setEnabled(true);
    bild.setForeground(Color.black);
    bild.setOpaque(false);
    bild.setVerifyInputWhenFocusTarget(false);
    bild.setDisplayedMnemonic('0');
    bild.setHorizontalTextPosition(SwingConstants.TRAILING);
    bild.setText("");
    bild.setBounds(new Rectangle(49, 30, 272, 224));
    bild.setVisible(true);
    greetz.setBackground(Color.black);
    greetz.setEnabled(false);
    greetz.setFont(new java.awt.Font("Comic Sans MS", 1, 25));
    greetz.setForeground(Color.yellow);
    greetz.setDoubleBuffered(false);
    greetz.setDisabledTextColor(Color.yellow);
    greetz.setEditable(false);
    greetz.setText("Viel Spaß :D");
    greetz.setLineWrap(true);
    greetz.setBounds(new Rectangle(99, 156, 267, 79));
    soundanaus.setBounds(new Rectangle(363, 3, 25, 23));
    soundanaus.setText("jButton1");
    soundanaus.addActionListener(new InformatikAufgabeFrame_soundanaus_actionAdapter(this));
    contentPane.add(s1, null);
    contentPane.add(s2, null);
    contentPane.add(s3, null);
    contentPane.add(gruenwert, null);
    contentPane.add(rotwert, null);
    contentPane.add(blauwert, null);
    contentPane.add(rgbwerte, null);
    contentPane.add(solution, null);
    contentPane.add(bild, null);
    contentPane.add(greetz, null);
    contentPane.add(spielstarten, null);
    contentPane.add(soundanaus, null);

  }


  //Überschrieben, so dass eine Beendigung beim Schließen des Fensters möglich ist
  protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if (e.getID() == WindowEvent.WINDOW_CLOSING) {
      System.exit(0);
    }
  }






  void s1_adjustmentValueChanged(AdjustmentEvent e) {
     Graphics g = getGraphics();
Object s = e.getSource();
if(s==s1 || s==s2 || s==s3){
      rot = s1.getValue(); // Farbfeld wird umgefärbt
      gruen = s2.getValue();
      blau = s3.getValue();
      g.setColor(new Color(rot, gruen, blau));
     g.fillOval(105,100,150,150);
     rotwert.setText("Rot :"+s1.getValue());



    }


  }

  void s2_adjustmentValueChanged(AdjustmentEvent e) {
    Graphics g = getGraphics();
Object s = e.getSource();
if(s==s1 || s==s2 || s==s3){
     rot = s1.getValue(); // Farbfeld wird umgefärbt
     gruen = s2.getValue();
     blau = s3.getValue();
     g.setColor(new Color(rot, gruen, blau));
    g.fillOval(105,100,150,150);
    gruenwert.setText("Grün :"+s2.getValue());



   }

  }

  void s3_adjustmentValueChanged(AdjustmentEvent e) {
    Graphics g = getGraphics();
Object s = e.getSource();
if(s==s1 || s==s2 || s==s3){
     rot = s1.getValue(); // Farbfeld wird umgefärbt
     gruen = s2.getValue();
     blau = s3.getValue();
     g.setColor(new Color(rot, gruen, blau));
    g.fillOval(105,100,150,150);
    blauwert.setText("Blau :"+s3.getValue());



   }

  }

  void solution_actionPerformed(ActionEvent e) {
rgbwerte.setText("R:"+x+"  "+"G:"+y+"  "+"B:"+z );
  }

  void spielstarten_actionPerformed(ActionEvent e) {

    s1.setValue(0);
    s2.setValue(0);
    s3.setValue(0);
    Graphics g = getGraphics();
    Random generator = new Random();

  x = (int) (generator.nextInt(255));
  y = (int) (generator.nextInt(255));
  z = (int) (generator.nextInt(255));
  zufall = new Color(x, y, z);
bild.setVisible(false);
  greetz.setVisible(true);
    g.setColor(zufall);
   g.fillRect(80,75,200,200);

    g.setColor(Color.black);
    g.fillOval(105,100,150,150);
    spielstarten.setPressedIcon(null);




  }
[color=red]
  void soundanaus_actionPerformed(ActionEvent e) {
    Sequencer sequencer = MidiSystem.getSequencer();
         sequencer.stop();




  }[/color]







}

class InformatikAufgabeFrame_s1_adjustmentAdapter implements java.awt.event.AdjustmentListener {
  InformatikAufgabeFrame adaptee;

  InformatikAufgabeFrame_s1_adjustmentAdapter(InformatikAufgabeFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void adjustmentValueChanged(AdjustmentEvent e) {
    adaptee.s1_adjustmentValueChanged(e);
  }
}


class InformatikAufgabeFrame_s2_adjustmentAdapter implements java.awt.event.AdjustmentListener {
  InformatikAufgabeFrame adaptee;

  InformatikAufgabeFrame_s2_adjustmentAdapter(InformatikAufgabeFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void adjustmentValueChanged(AdjustmentEvent e) {
    adaptee.s2_adjustmentValueChanged(e);
  }
}

class InformatikAufgabeFrame_s3_adjustmentAdapter implements java.awt.event.AdjustmentListener {
  InformatikAufgabeFrame adaptee;

  InformatikAufgabeFrame_s3_adjustmentAdapter(InformatikAufgabeFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void adjustmentValueChanged(AdjustmentEvent e) {
    adaptee.s3_adjustmentValueChanged(e);
  }

}

class InformatikAufgabeFrame_solution_actionAdapter implements java.awt.event.ActionListener {
  InformatikAufgabeFrame adaptee;

  InformatikAufgabeFrame_solution_actionAdapter(InformatikAufgabeFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.solution_actionPerformed(e);
  }
}

class InformatikAufgabeFrame_spielstarten_actionAdapter implements java.awt.event.ActionListener {
  InformatikAufgabeFrame adaptee;

  InformatikAufgabeFrame_spielstarten_actionAdapter(InformatikAufgabeFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.spielstarten_actionPerformed(e);
  }
}

class InformatikAufgabeFrame_soundanaus_actionAdapter implements java.awt.event.ActionListener {
  InformatikAufgabeFrame adaptee;

  InformatikAufgabeFrame_soundanaus_actionAdapter(InformatikAufgabeFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.soundanaus_actionPerformed(e);
  }
}

ich bedanke mich im vorraus für eure hilfe :)
 
S

stev.glasow

Gast
da du im chat irgendwie ?!?!? naja ich sag nix...
Also MidiSystem.getSequencer() liefert jedes mal nen anderen Sequencer - speicher dir mal den Sequencer aus der jbInit() in einer Varibale und nutze diese in der soundanaus_actionPerformed anstelle von "Sequencer sequencer = MidiSystem.getSequencer();"
 
K

Kami

Gast
danke erstmal!
funktioniert leider nicht...:(
oder ich mache was falsch.
naja, nochmal danke!

mein internet hatte die letzten stunden derbe risse..deswegen der recht komische auftritt im chat^^
 
K

Kami

Gast
oh man, ich bin echt ne nase....ich hab vergessen, die variable public zu machen^^
naja, cu :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Java Sound midi Java Basics - Anfänger-Themen 3
F Midi-Sequenzer gibt immer denselben, schrägen Ton aus? Java Basics - Anfänger-Themen 2
D Pattern in Midi-Sequencer Java Basics - Anfänger-Themen 2
B Umsteiger versucht sich bei MIDI in Java Java Basics - Anfänger-Themen 7
Luk10 Midi - Konstruktor-Argumente Java Basics - Anfänger-Themen 5
S Midi-dateien Abspielen Java Basics - Anfänger-Themen 2
V Serialisieren einer ShortMessage (javax.sound.midi) Java Basics - Anfänger-Themen 5
B Midi-File Abspielen Java Basics - Anfänger-Themen 14
K Programm stoppt einfach ohne Grund Java Basics - Anfänger-Themen 4
T Timer stoppt zu früh Java Basics - Anfänger-Themen 7
A Rekursion stoppt an der falschen Stelle Java Basics - Anfänger-Themen 4
V Java Uitil Timer Stoppt nicht Java Basics - Anfänger-Themen 2
E Executorservice stoppt arbeit Java Basics - Anfänger-Themen 2
U THREAD stoppt bzw. schläft nicht!!!! Java Basics - Anfänger-Themen 12
G iteration durch Array stoppt nicht bei Laufbedingung? Java Basics - Anfänger-Themen 13
K Sound stoppt nicht Java Basics - Anfänger-Themen 3
G Textdatei, Programm stoppt nicht Java Basics - Anfänger-Themen 4
W Null-Pointer trotz Konstruktor? Java Basics - Anfänger-Themen 9
heinrich172 Methoden Trotz gleichem Element stimmt Vergleich nicht? Java Basics - Anfänger-Themen 7
U Breite von Textfeldern trotz Layoutmanager Java Basics - Anfänger-Themen 4
I Programm erkennt nicht an das Array zurückgegeben wird trotz Initialisierung *einfach* Java Basics - Anfänger-Themen 9
tun3d Packet trotz richtiger Addressierung nicht auffindbar? Java Basics - Anfänger-Themen 10
P Apache Derby wird in Eclipse trotz Anbindung nicht gefunden Java Basics - Anfänger-Themen 6
Kotelettklopfer Output korrekt trotz falschem Lösungsweg !? Java Basics - Anfänger-Themen 99
P NoClassDefFoundError: org/apache/commons/collections4/ListValuedMap trotz vorhandener Klasse? Java Basics - Anfänger-Themen 10
E Timer trotz erwartender Eingabe durchlaufen lassen Java Basics - Anfänger-Themen 11
V_Fynn03 Erste Schritte JButton funktioniert nicht trotz richtiger Methode. Java Basics - Anfänger-Themen 17
J bundel - Datei wird nicht gefunden. Trotz STRG-SHIFT-J Java Basics - Anfänger-Themen 2
U UnsupportedClassVersionError trotz neuster JRE und JDK Version Java Basics - Anfänger-Themen 7
J Unterschiedliche Ordnerstrukturen trotz gleicher Entwicklungsumgebungen Java Basics - Anfänger-Themen 3
M java.io.FileNotFoundException trotz dass Verzeichnis korrekt angegeben ist! Java Basics - Anfänger-Themen 20
helldunkel While Schleife trotz false Java Basics - Anfänger-Themen 4
L Methoden if Bedingung trotz Erfüllung, nicht angesprochen Java Basics - Anfänger-Themen 12
L [Verständnisproblem] Array wird trotz void rückgabe verändert. Java Basics - Anfänger-Themen 5
C Threads SwingWorker läuft trotz cancel weiter Java Basics - Anfänger-Themen 22
M Interpreter-Fehler Nullpointerexception trotz Ordentlicher Initialisierung Java Basics - Anfänger-Themen 4
D javac kann trotz PATH-Eintrag nicht gefunden werden (Hello World) Java Basics - Anfänger-Themen 10
P Threads Trotz Threads wird nur 1 Prozessorkern ausgelastet Java Basics - Anfänger-Themen 7
A Heap Space Error bei rekursiver Suche in Dateien trotz nur einer Zeile im Speicher Java Basics - Anfänger-Themen 26
X Array trotz Befüllung "null" Java Basics - Anfänger-Themen 11
M Arrayfelder werden trotz Beschränkung unbeschrenkt ausgegeben Java Basics - Anfänger-Themen 2
Fab1 alte Java Datei wird ausgeführt (trotz Änderung) Java Basics - Anfänger-Themen 4
O Downloaden: Trotz If Abfrage wird Datei heruntergeladen Java Basics - Anfänger-Themen 2
M Datentypbewahrung trotz Erbung Java Basics - Anfänger-Themen 12
L Applet : keine Recht für Zugriff auf Clipboard (trotz Zertifikat) Java Basics - Anfänger-Themen 4
N Input/Output EOF-Exception trotz Fehlerüberprüfung Java Basics - Anfänger-Themen 2
U Übersicht trotz mehrdimensionaler Arraylisten Java Basics - Anfänger-Themen 17
S Java Heap space trotz -Xmx1024 Java Basics - Anfänger-Themen 10
J trotz Error weitermachen Java Basics - Anfänger-Themen 4
V Kein neuer Thread trotz Runnable Java Basics - Anfänger-Themen 4
X JFrame als JAR unsichtbar trotz Exception Handling Java Basics - Anfänger-Themen 5
Y Trotz add wird Image in GradBagLayout nicht angezeigt Java Basics - Anfänger-Themen 5
L Polymorphie <identifier> expected trotz "Angabe" Java Basics - Anfänger-Themen 2
O ausgabe spinnt trotz erfolgreichem kompilieren Java Basics - Anfänger-Themen 2
D Jar klappt nicht trotz main Methode Java Basics - Anfänger-Themen 19
S JButton trotz Box-Layout skalieren Java Basics - Anfänger-Themen 6
D OpenCSV Fehllender Konstruktor trotz import und Buildpath Eintrag Java Basics - Anfänger-Themen 1
X dll löschen trotz zugriff durch java programm Java Basics - Anfänger-Themen 5
U if-Anweisung trotz Division/0 Java Basics - Anfänger-Themen 6
K BufferedReader/Writer trotz Cache? Java Basics - Anfänger-Themen 9
D Ein boolean[] Array größer als 63.000.000 erstellen? trotz -Xms und -Xmx.... Java Basics - Anfänger-Themen 7
Q Listen - DefaultListModel trotz Design ueber GUI? Java Basics - Anfänger-Themen 10
A Trotz Thread ist Program nicht erreichbar Java Basics - Anfänger-Themen 3
Q Vector verändert trotz final seine Größe Java Basics - Anfänger-Themen 5
A kein zugriff auf variable trotz public? Java Basics - Anfänger-Themen 3
D nicht genug speicher - profiling trotz error Java Basics - Anfänger-Themen 5
D Buttons gehen trotz enebled(false) Java Basics - Anfänger-Themen 8
J Spielfigur wird trotz erfolgreich aufgerufener Methode nicht Java Basics - Anfänger-Themen 22
H javac Befehl trotz Variablen einbindung ned gefunden Java Basics - Anfänger-Themen 23
C Trotz "synchronized" unerwartete Ausgabe Java Basics - Anfänger-Themen 2
R windowclosing - fenster schließt immer trotz abfrage Java Basics - Anfänger-Themen 2
C Thread läuft und läuft, trotz interrupt() Java Basics - Anfänger-Themen 9
T laagen trotz Double-Buffering Java Basics - Anfänger-Themen 5
S ClassNotFoundException trotz JAR Einbindung in Eclipse Java Basics - Anfänger-Themen 2
T tooltip trotz gedrückter maustaste Java Basics - Anfänger-Themen 2
0 NoSuchMethodError: main trotz vorhandener Main Methode? Java Basics - Anfänger-Themen 9
Silver-Blue mehrere Instanzen einer Klasse, trotz Random immer das Selbe Java Basics - Anfänger-Themen 7
X trotz gleicher variablen nicht equal Java Basics - Anfänger-Themen 5
G Trotz Abfrage immer noch Zahlen doppelt Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben