java - 用java播放声音时内存泄漏

标签 java audio memory-leaks

这是我播放声音的代码:

public class Sound {
    public static void playSound(String path)
    {
      try 
      {
           Clip clip = AudioSystem.getClip();
           AudioInputStream inputStream = AudioSystem.getAudioInputStream(new File(path));
           clip.open(inputStream);
           inputStream.close();
           clip.start(); 
        } catch (Exception e) {
           e.printStackTrace();
        }               
    }
}

如果我调用 Sound.playSound("xxx.wav");很多时候,我看到任务管理器显示我的内存开始急剧上升。我该如何清理它?

最佳答案

尝试 close 方法。来自 JavaDOC:

void close() Closes the line, indicating that any system resources in use by the line can be released. If this operation succeeds, the line is marked closed and a CLOSE event is dispatched to the line's listeners.

关于java - 用java播放声音时内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23246017/

相关文章:

java - jackson 的多态序列化/反序列化和自定义序列化器/反序列化器

C# 音频库

audio - 重新采样为12位PCM声音?

c++ - 使用 C++ 在 Arduino 上编写复杂的程序。如何正确使用对象或更好地使用普通 C?

Javascript/jQuery - 如何在大量代码中找到内存泄漏?

java - 使用 servlet 显示 jfreecharts

java - 不应该锁定所有类实例的玻璃 block 线程

java - 有没有办法在maven中为javacv的 native 部分设置依赖关系,而无需手动安装和设置java.library.path?

actionscript-3 - 麦克风数据采样

regex - Perl 程序在编译正则表达式时内存泄漏