我最近使用了一个解决方案来解决使用 Jlayer 在 Java 中播放 mp3 歌曲时一次一个线程的问题。但是 Kaleb Brasee 的这个解决方案并没有暗示你如何阻止播放器,即如何调用 player.close()?
Kaleb 的代码是:
Executor executor = Executors.newSingleThreadExecutor();
executor.execute(new Runnable() { public void run() {
/* do something */
} });
这是我放入 run() 的代码
if(player != null) player.close();
try{
player = new Player(new FileInputStream(musicD.getPath()));
player.play();
}catch(Exception e){}
问题在于,尽管这解决了在音乐播放时保持 gui 处于活动状态的问题(仅在另一个线程中——我想要的),但我无法开始播放另一首歌曲:-(
我能做什么?