java - 如何更改曾经播放的音频文件的名称?

标签 java exception audio javasound

我想创建程序来创建目录中的文件列表。当您单击名称一次它应该播放文件时,当出现两次对话框时,要求您更改样本的名称。问题是,当我尝试更改文件名并且正在播放声音时,出现异常,该文件无法更改,因为它被另一个进程使用。我试图用 close 方法(ais.close()) 关闭流,但它没有帮助。
你能告诉我如何从进程中分离文件吗?
下面是我的玩法:

File sample = fileList.get(index);
    try {
        Clip clip = AudioSystem.getClip();
        AudioInputStream ais = AudioSystem.getAudioInputStream(sample);
        clip.open(ais);
        clip.loop(0);
    } catch (LineUnavailableException ex) {
        Logger.getLogger(MainList.class.getName()).log(Level.SEVERE, null, ex);
    }

播放wav文件的方式取自这篇文章:
How can I play sound in Java?

最佳答案

确保你也关闭()剪辑。

关于java - 如何更改曾经播放的音频文件的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29193830/

相关文章:

java - 如何从 JSP 访问 JavaScript 中的 Java 对象

java - 捕获异常会捕获该异常的父类

java - FileNotFoundException 未被 IOException 捕获

c# - 实例化泛型类型时出现 InvalidCastException

python - CoreML - 多数组输入需要在应用程序或模型中进行预处理?

javascript - HTML5 音频标签无法为 Chrome 和 Safari 中第一个未聚焦的选项卡播放声音?

java - 我一次播放多个音频时遇到问题

java - 方法中不属于签名或正文的部分的名称是什么

java - 使用unix语法运行java类文件?

java - 棋盘游戏在 Java 中的实现