停止在J2ME中循环播放声音

时间:2011-09-02 09:52:28

标签: audio java-me

我目前正在为我的Rock,Paper,Scissors J2ME应用添加声音。此刻我可以播放声音,但它会以连续的循环播放,不会停止。我打电话给stop();这似乎没有帮助。下面是我用来创建声音的代码:

    private void playSound(String sound)

    {
        try{

            InputStream in = getClass().getResourceAsStream(sound+".wav");
            Player p = Manager.createPlayer(in, "audio/x-wav");
            p.start();
            p.stop();

            //System.out.println("sound playing...");

        }
        catch(Exception e)
        {
            System.out.println("Sound error:" + e);
        }

    }

如何让声音停止?

1 个答案:

答案 0 :(得分:0)

您好像使用的是MMAPIMIDP API。如果是这种情况,那么您用来测试stop如何工作的方式不太可能像您期望的那样工作。看:

    p.start();
    p.stop();

如果您在启动后立即调用停止,Player可能会忽略它,因为它尚未处于准备停止的状态。

如果您想了解停止是如何工作的,请添加一个命令停止到屏幕并在听到播放声音后调用它。在那一刻,期待球员准备停止的状态是合理的。