簡體   English   中英

在Java ME中開始游戲之前加載聲音

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM