如何解决关闭音频剪辑时出现问题
| 我使用netbeans,并通过播放音频剪辑获得此代码 现在,我希望当用户按下JFrame上的下一个按钮时。框架布置另一个开口,夹子停止。 这是我的代码: 这是在按钮的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);
}
}
});
它在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)
解决方法
我猜想在代码调用
Clip.close()
时Clip
实例已超出范围。
这只是一个猜测,因为对于代码片段来说很难说太多,堆栈跟踪的行号无法指示确切的代码行。请考虑在将来发布SSCCE。
, 我需要做的是在类下初始化变量,而不是在main下初始化变量……就这么简单
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。