Я использовал следующую логику, чтобы загрузить звук из другого потока, чтобы загрузить его во время игры.
Хотя он работает для очень маленьких файлов WAV, иногда мне приходится ждать, пока он загрузится.
Как я могу убедиться, что он загружен заранее?
public class MusicPlayer implements Runnable {
String sound;
Player p;
public MusicPlayer(String sound)
{
this.sound = sound;
InputStream is = getClass().getResourceAsStream("/"+sound);
try
{
p = Manager.createPlayer(is, "audio/X-wav");
}
catch(Exception e)
{}
}
public void start()
{
Thread t = new Thread(this);
t.start();
}
public void run()
{
try
{
p.start();
}
catch(Exception e)
{}
}
}