[英]Java jLayer GUI Application freezes while playing the music
我正在处理一个需要背景音乐的 Java 项目,因此我使用 jLayer(Java 平台的 MP3 库)来提高我的项目的适用性和性能。
我需要在JFileChooser
的帮助下播放音乐,以便用户可以轻松地从菜单栏中运行自己的音乐。
但是每当我尝试运行任何随机音乐时,整个 GUI 应用程序都会冻结。
任何人都可以帮我修复这个代码吗?
每当我尝试在“JFileChooser”的帮助下从菜单栏中运行任何随机音乐时,整个 GUI 应用程序都会冻结
从侦听器执行的代码在Event Dispatch Thread (EDT)
。 该线程负责响应事件并重新绘制 GUI。 如果您执行一个较长的任务(如播放音乐),则 GUI 无法响应事件。
您需要在单独的Thread
上启动音乐播放器。 一种方法是使用SwingWorker
,它提供了在使用 Swing 时有用的附加功能。
有关更多信息,请阅读Swing 中的并发性教程。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.