2011-06-14 26 views
-4

我使用netbeans,並且我通過它播放音頻片段的代碼關閉音頻片段的問題

現在,我希望當用戶按下JFrame上的下一個按鈕時。框架配置另一個打開和剪輯停止。

這裏是我的代碼:

這正好在按鈕的摩西發佈事件:

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); 
     } 

      } 
     }); 

它顯示了一個錯誤的行clip.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) 
+6

什麼是錯誤 – 2011-06-14 12:05:17

+3

你忘了添加異常的堆棧跟蹤。 – 2011-06-14 12:07:54

+0

抱歉,但我不知道什麼堆棧跟蹤,如果曳 – 2011-06-14 12:17:48

回答

0

我需要什麼做的是初始化變量的類下,寧可下主......就這麼簡單

0

我猜想,Clip實例超出範圍的代碼調用Clip.close()的時間。

這只是一種猜測,因爲這是很難說有多少代碼段,堆棧跟蹤的行號無法表示確切的代碼行。請考慮將來發布SSCCE