Fehler beim Abspielen von AudioInputStream

Ich möchte 2 erstellenJMenuItem das kann das Hintergrundaudio starten und stoppen.

Hier ist mein Code:

public class MainClass extends JFrame
{
    private AudioInputStream audioInputStream;
    private Clip clip;

    public MainClass(String title)
    {
        try
        {
            audioInputStream = AudioSystem.getAudioInputStream(new File("Background.wav"));
            clip = AudioSystem.getClip();
            clip.loop(Clip.LOOP_CONTINUOUSLY);
            clip.open(audioInputStream);
        }
        catch(Exception e)
        {
            System.out.println("Error with playing sound.");
            e.printStackTrace();
        }
    }
    public void startSound()
    {   
        clip3.start();
        settingSubMenuItem1.setEnabled(false);
        settingSubMenuItem2.setEnabled(true);
    }

    public void stopSound()
    {
        clip3.stop();
        settingSubMenuItem1.setEnabled(true);
        settingSubMenuItem2.setEnabled(false);
    }

    private class MenuItemListener implements ActionListener
    {
        public void actionPerformed(ActionEvent e)
        {
            if(e.getSource() == settingSubMenuItem1)
            {
                startSound();
            }
            if(e.getSource() == settingSubMenuItem2)
            {
                stopSound();        
            }
        }
    }
}

Wenn ich auf die Schaltfläche klickesettingSubMenuItem1, es funktioniert gut, Audio wird abgespielt.

Aber wenn ich auf die Schaltfläche klickesettingSubMenuItem2gibt es fehler und wenn nochmal klickensettingSubMenuItem1es wird kein ton mehr geben.

Hier sind die Fehler:

Error with playing sound.
java.lang.IllegalStateException: Clip is already open with format PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian and frame lengh of 7658

Was ist der Fehler meines Programms?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage