soundplayer.java

来自「自写的坦克大战游戏」· Java 代码 · 共 63 行

JAVA
63
字号
import javax.microedition.media.*;
import java.io.*;
class SoundPlayer
{
    private static SoundPlayer instance;
    private Player palyerFire;
    private Player playerExplode;
    private SoundPlayer()
    {
        palyerFire = createPlayer("/fire.wav", "audio/x-wav");
        playerExplode = createPlayer("/explode.wav", "audio/x-wav");
    }
    static SoundPlayer getInstance()
    {
        if (instance == null)
        {
            instance = new SoundPlayer();
        }
        return instance;
    }
    void playFireSound()
    {
        startPlayer(palyerFire);
    }
    void playExplodeSound()
    {
        startPlayer(playerExplode);
    }
    private void startPlayer(Player p)
    {
        if (p != null)
        {
            try
            {
                p.stop();
                p.setMediaTime(0L);
                p.start();
            }
            catch (MediaException me)
            {
                System.out.println(me);
            }
        }
    }
    private Player createPlayer(String filename, String format)
    {
        Player p = null;
        try
        {
            InputStream is = getClass().getResourceAsStream(filename);
            p = Manager.createPlayer(is, format);
            p.prefetch();
        }
        catch (IOException ioe)
        {
            System.out.println(ioe);
        }
        catch (MediaException me){
        }
        return p;
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?