Wie kann ich den Sound stoppen?

Coder55

Mitglied
Juhuuu
mache gerade weiter mit meinem projekt.
Ich habe zwei buttons play und stop. Bei klick auf dem play button wird der sound einwandfrei abgespiel.Nun will ich aber auch das der sound durch klicken des stop buttons stopped.

Ich bekomme eine Fehlermeldung die ich nicht verstehe.

Hier mein Code
Code:
import java.io.File;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;

 
 public class sound extends JFrame
                   implements ActionListener
 {
	JButton playbtn = new JButton("Play");
	JButton stopbtn = new JButton("Stop");

     public static void main(String[] args)
     {
         sound jf = new sound();
     }
     
     public sound()
     {
         setLayout(new FlowLayout());
         setSize(600, 200);
         setTitle("Sound");
         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		add(playbtn);
		add(stopbtn);
        stopbtn.addActionListener(this);
		playbtn.addActionListener(this);
        setVisible(true);

	
     }
 
     public void actionPerformed(ActionEvent e)
     {
           if (e.getSource() == playbtn)
         {
			 play(getCodeBase(), "gong1");
		 }
         
		  if (e.getSource() == stopbtn)
         {
			 stop(getCodeBase(), "gong1");
			 
		 }

		   }
		     private Object getCodeBase() {
        return null;
    }

   private void play(Object codeBase, String fileName) {
        try {
            Clip clip = AudioSystem.getClip();
            File file = new File(fileName + ".wav");
            AudioInputStream ais = AudioSystem.getAudioInputStream(file);
            clip.open(ais);
            clip.start();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
      }

private void stop(Object codeBase, String fileName) {
        try {
            Clip clip = AudioSystem.getClip();
            File file = new File(fileName + ".wav");
            AudioInputStream ais = AudioSystem.getAudioInputStream(file);
            clip.stop(ais);
            clip.close();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
      }


     }
 

eRaaaa

Top Contributor
a) Es wäre gut wenn du die Fehlermeldung posten würdest (beim nächsten Mal ;D )
b) Fehlermeldung kommt höchswahrscheinlich daher, weil die Methode close(), keinen Paramter erwartet,d.h. [c]clip.stop(ais);[/c] ist falsch --> clip.stop();

Du müsstest wahrscheinlich das Clip-Objekt auch außerhalb der Methoden bekannt machen...vllt irgendwie so:
Java:
class sound extends JFrame implements ActionListener {
	JButton playbtn = new JButton("Play");
	JButton stopbtn = new JButton("Stop");
	Clip clip; //<----

	public sound() {
		setLayout(new FlowLayout());
		setSize(600, 200);
		setTitle("Sound");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		add(playbtn);
		add(stopbtn);
		stopbtn.addActionListener(this);
		playbtn.addActionListener(this);
		setVisible(true);
	}

	public void actionPerformed(ActionEvent e) {
		if (e.getSource() == playbtn) {
			play(getCodeBase(), "gong1");
		}

		if (e.getSource() == stopbtn) {
			stop(getCodeBase(), "gong1");

		}
	}

	private Object getCodeBase() {
		return null;
	}

	private void play(Object codeBase, String fileName) {
		try {
			clip = AudioSystem.getClip();  //<---
			File file = new File(fileName + ".wav");
			AudioInputStream ais = AudioSystem.getAudioInputStream(file);
			clip.open(ais);
			clip.start();
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	}

	private void stop(Object codeBase, String fileName) {
		try {
			if (clip != null) {
				clip.stop();
				clip.close();
			}
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	}
}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
K JavaFx, Sound Aufnahme und Thread AWT, Swing, JavaFX & SWT 0
missy72 JavaFX KeyFrame / Zeitversetzter Sound AWT, Swing, JavaFX & SWT 1
C JavaFx sound abspielen AWT, Swing, JavaFX & SWT 3
VPChief Nach abspielen von Sound reagiert das Program nichtmehr AWT, Swing, JavaFX & SWT 9
H Sound abspielen klappt nicht AWT, Swing, JavaFX & SWT 4
DARK_ZERATO2 GUI Fehlermeldung mit sound AWT, Swing, JavaFX & SWT 4
Z GUI-Ausgabe mit Bild und Sound AWT, Swing, JavaFX & SWT 3
J Probleme mit Sound in Jar-Archiv AWT, Swing, JavaFX & SWT 2
S Sound spielen AWT, Swing, JavaFX & SWT 3
ralfb1105 Swing Ausführung einer SwingWorker Klasse stoppen AWT, Swing, JavaFX & SWT 4
ralfb1105 Swing Timer in SwingWorker stoppen AWT, Swing, JavaFX & SWT 4
Nuiton Swing SwingWorker - Prozess stoppen AWT, Swing, JavaFX & SWT 4
G Fenster erst nach Stoppen des Threads anzeigen AWT, Swing, JavaFX & SWT 3
G Swing Timer stoppen AWT, Swing, JavaFX & SWT 4
R Thread stoppen, nachdem eine Taste gedrückt wird AWT, Swing, JavaFX & SWT 2
O Thread zerstören / stoppen in java 1.5? AWT, Swing, JavaFX & SWT 9
M JTextPane - Zeilenumbruch verhindern stoppen deaktivieren :) AWT, Swing, JavaFX & SWT 5
m@nu JTable: Editor stoppen AWT, Swing, JavaFX & SWT 8
Z javax.swing.Timer: wie stoppen??? AWT, Swing, JavaFX & SWT 9
R TableCellEditor -> editieren stoppen AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben