В качестве альтернативы хорошему решению Abbas я могу предложить периодически проверять, жив ли поток, который вы используете для воспроизведения файла.
Глядя на предоставленное вами руководство, основная программа создает новый экземпляр класса потока и использует метод start()
для запуска потока. Таким образом, вы можете проверить, жив ли поток. Когда нить мертва, вы можете делать, что хотите. Например:
AePlayWave apw = new AePlayWave("test.wav");
apw.start();
try{
boolean alive = apw.isAlive();
while(alive){
//check periodically if the thread is alive
alive = apw.isAlive();
Thread.currentThread().sleep(500);
}
}
catch(InterruptedException e){
System.out.println("Interrupted");
e.printStackTrace();
}
//do other action..
Когда поток apw
мертв (тогда логическое значение alive
ложно), и программа выходит из цикла while
, вы можете выполнить то, что вы хотите.