簡體   English   中英

Java jLayer GUI 應用程序在播放音樂時凍結

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM