[英]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.