Вы должны возобновить воспроизведение музыки после предыдущих концов.Как вы можете определить, когда музыка перестает воспроизводиться?
//...
System.out.println(numberofbytesread);
sourcedataline.write(sounddata, 0, numberofbytesread);
}
}
} catch (Exception e) {
e.printStackTrace();
} finally { //added
/*here it stops*/
} //added
Самый простой способ - перезапустить его, вставив в этот блок smt, как playSoundFile(file)
.
Но этот код пахнет.Вы должны подумать о рефакторинге;)
Также, я думаю, вы можете попробовать поместить этот блок в бесконечный цикл
while(true){
SourceDataLine sourcedataline = (SourceDataLine) AudioSystem.getLine(datalineinfo);
sourcedataline.open(audioformat);
/...
sourcedataline.write(sounddata, 0, numberofbytesread);
}
}
Но это тоже не лучшее решение.