【问题标题】:java .wav playback fails after multiple playbacks多次播放后 java .wav 播放失败
【发布时间】:2014-12-15 12:55:48
【问题描述】:

我正在尝试播放一个 .wav 文件。我正在使用此代码:

public static synchronized void play(String path) {     
    try {
        URL soundUrl = SoundTools.class.getResource(path);
        AudioInputStream stream = AudioSystem.getAudioInputStream(soundUrl);
        AudioFormat format = stream.getFormat();
        DataLine.Info info = new DataLine.Info(Clip.class, format);
        Clip clip = (Clip) AudioSystem.getLine(info);
        clip.open(stream);
        clip.start();
    }
    catch (Exception e) {
        System.out.println(e.getMessage());
        e.printStackTrace();
    }
}

代码在一段时间内运行良好,但在播放大约 30 次后,我得到了 javax.sound.sampled.LineUnavailableException。错误消息显示unable to obtain a line。我认为这与系统资源有关,但我不知道如何修复它。

【问题讨论】:

标签: java url audio clip


【解决方案1】:

您永远不会关闭Clip,它是Line 的子类,这就是您收到此错误的原因。使用 close 方法完成后关闭剪辑(这样您可以释放资源)像这样

clip.close();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-19
    • 2015-08-15
    • 1970-01-01
    • 2011-08-28
    • 2018-08-23
    相关资源
    最近更新 更多