Java 关闭音频剪辑时出现问题

Java 关闭音频剪辑时出现问题,java,swing,Java,Swing,我使用netbeans,我有这个代码,通过它我可以播放音频剪辑 现在,当用户按下JFrame上的next按钮时,我想要它。框架将另一个打开,剪辑将停止 这是我的密码: 这在按钮的mose释放事件中发生: Reg1 ro = new Reg1(); ro.setVisible(true); clip.close(); this.dispose(); 这主要是: java.awt.EventQueue.invokeLater(new Runnable() { public

我使用netbeans,我有这个代码,通过它我可以播放音频剪辑

现在,当用户按下JFrame上的next按钮时,我想要它。框架将另一个打开,剪辑将停止

这是我的密码:

这在按钮的mose释放事件中发生:

Reg1 ro = new Reg1();
ro.setVisible(true);
clip.close();
this.dispose();
这主要是:

java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                Welcome1 insta = new Welcome1();
                insta.setVisible(true);
                        KeyListener s;

        try {
            AudioInputStream audio = AudioSystem.getAudioInputStream(new File("x.wav"));
            Clip clip = AudioSystem.getClip();
            clip.open(audio);
            clip.start();
        }

        catch(UnsupportedAudioFileException uae) {
            System.out.println(uae);
        }
        catch(IOException ioe) {
            System.out.println(ioe);
        }
        catch(LineUnavailableException lua) {
            System.out.println(lua);
        }

            }
        });
它显示了线剪辑中的错误。close()

我该怎么做才能消除错误? 请解释你的答案,因为我是新手

错误是:

Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: Uncompilable source code
        at Welcome1.jButton2MouseReleased(Welcome1.java:60)
        at Welcome1.access$000(Welcome1.java:7)
        at Welcome1$1.mouseReleased(Welcome1.java:29)
        at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:273)
        at java.awt.Component.processMouseEvent(Component.java:6263)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6028)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4630)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2478)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

我猜
Clip
实例在代码调用
Clip.close()
时超出了范围


这只是一个猜测,因为对于代码片段很难说得太多,堆栈跟踪的行号无法表示确切的代码行。请考虑将来发布一个。

我需要做的是初始化类下的变量,而不是在main下初始化变量。就这么简单

什么是错误你忘了添加异常的堆栈跟踪。对不起,我不知道是什么堆栈跟踪is@Karan:您发布为错误的内容称为stacktrace of Exection。那么,没有错误,只有此stacktrace of exception。还有,我应该怎么做才能确定clip的范围?