fed_lviv написав:Ні, я про метод playSound(), навіщо його двічі викликати в кожній ітерації? 
 Між двома викликами playSound ще є запис та відтворення голоса користувача. 
У повідомленні 23 я писав :
"... тільки кліп при програванні якого була натиснута кнопка стоп  до кінця програє, а потім зупиниться все." 
це не так,  вже все більш менш  нормально, відразу зупиняється (бува підвисає якщо часто клацати старт-стоп) і на лейбелці пише "Кінець". Я тільки не розумію чому коли код в методі playSound ()  був в блоці  try{ ...} catch(Exception ex){...} , 
 
private  void playSound( File soundFile) {
      try{
           Clip clip = AudioSystem.getClip();
           clip.open(AudioSystem.getAudioInputStream(soundFile));
           clip.start();
            Thread.sleep(clip.getMicrosecondLength()/1000);
            Thread.sleep(1000); 
       
       }catch(Exception ex){
           System.out.println("Exception");      
       }   
    }
то не зупинялось ( переходило лише на іншу ітерацію  ),
 а коли через throws без трай кетча , то працює 
 
private  void playSound( File soundFile) throws LineUnavailableException, IOException, UnsupportedAudioFileException, InterruptedException {...