0

好的,所以我有这门课来为我的游戏播放声音:

package sound;
import java.net.URL;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
public class GameSounds 
{
    private static int count = 0;
    public static void play(String path)
    {
        try
        {
            URL audioInStream = GameSounds.class.getResource(path);
            AudioInputStream inputStream = AudioSystem.getAudioInputStream(audioInStream);
            Clip clip = AudioSystem.getClip();
            clip.open(inputStream);
            clip.start();
            if(count > 60)
            {
                clip.stop();
                count = 0;
            }
            count++;
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }
}

我有 10 个级别.. 在第 8 级或第 9 级它给出一个错误“内存不足”,它告诉我错误来自这个类,我相信它在使用它们后并没有摆脱声音......所以我的问题是我该怎么做?我用 try catch 和 final 和 clip.dispose() 尝试了一些东西,但显然没有成功。

4

1 回答 1

1

你没有调用close()你的AudioInputStream.

于 2013-08-03T21:16:08.520 回答