Недавно я использовал решение проблемы «один поток за раз», когда использовал Jlayer для воспроизведения mp3-песен на Java.Но это решение Kaleb Brasee не намекало на то, как можно остановить игрока, то есть как можно тогда вызвать player.close ()?
Код Калеба был:
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){}
Проблема в том, что это решает проблему сохранения графического интерфейса во время воспроизведения музыки (только в одном другом потоке - что яхотел), я не могу начать играть другую песню: - (
Что я мог сделать?