на днях столкнулся с проблемой когда писал ради интереса игрулину и нужно было вставить звуки ну я создал отдельный класс sounds и всё вроде хорошо звук запускается но тут я понимаю что он останавливает приложение проигрываеться и игра работает дальше код класса до решения
class Sounds{
  public File file;
  public void play(){
     start(file);
  }
  public void start(File f){
         /*там ещё 7 строчек кода
         но я с телефона поэтому могу оставить
          ссылку на тот код*/
           //Cod
  }
}
так вот что-бы решить эту проблему мне помогла многопоточность я и сам знаю что с ней лучше не шутить потому что последствия могут быть но я же чуть-чуть)) так что вот как мне помогли решить
class Sounds extends Thread{
public File file;

@Override
public void run(){
  start(file)
}
//......
}
//.....
по моему так... вызываю метод так:
Sounds motor = new Sounds();
motor.file = new File("path/file.wav");
motor.start();