[英]Loading sound before game starts in Java ME
我使用以下逻辑从另一个线程加载声音,以在游戏进行时加载声音。 尽管它适用于很小的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)
{}
}
}
最可靠的解决方案是创建一个进度条,然后等待声音加载完毕,这样可以使用户保持愉悦感,因为他看到了一些动静
尝试
t.setPriority(Thread.MAX_PRIORITY);
万一有人需要它,我发现的最佳方法实际上是在Main线程本身中初始化对象。 如果不是最快的方法,它将是最可靠的解决方案。
您可以添加一个延迟IE Thread.sleep(100); 这将使线程延迟100毫秒
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.