java - 无法在 Java 中播放声音

标签 java

   class One {

    public static void main(String[] arg) {
        new One().play();
    }

    public void play() {
        try {
            AudioClip clip = Applet.newAudioClip(new URL(
                    "file:\\C:\\Documents and Settings\\admin\\Desktop\\javabottle-open.wav"));
            clip.play();
            URL ur = new URL("file:\\C:\\Documents and Settings\\admin\\Desktop\\flute+hrn+mrmba.aif");
            clip = Applet.newAudioClip(ur);
            clip.play();
            Thread.sleep(10000);
        } catch(Exception e) {
            System.out.println(e.getMessage());
        }
    }
}

我没有收到任何异常消息,并且音频也没有播放。

最佳答案

这对我有用

public class ClipTest {

    public void run() throws UnsupportedAudioFileException, IOException, LineUnavailableException {
        InputStream inRequest = this.getClass().getResourceAsStream("batR.wav");
        AudioInputStream sound = AudioSystem.getAudioInputStream(inRequest);

        DataLine.Info info = new DataLine.Info(Clip.class, sound.getFormat());
        Clip clip = (Clip) AudioSystem.getLine(info);
        clip.open(sound);

        clip.addLineListener(new LineListener() {

            public void update(LineEvent event) {
                if(event.getType() == LineEvent.Type.STOP) {
                    event.getLine().close();
                    System.exit(0);
                }
            }
        });

        clip.start();

    }

    public static void main(String[] args) throws Exception {
        ClipTest clipTest = new ClipTest();
        clipTest.run();

    }
}

关于java - 无法在 Java 中播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14953633/

相关文章:

java - 处理字符串 : Java client & C++ server 的正确方法是什么

java - 创建和运行 Java 小程序

java - 将 DriverManager 与 Tomcat 连接池一起使用

java - 正则表达式匹配不适用于任何输入

java - 关于 Java 中构造函数链的困惑

java - GridBagLayout - 如何使该单元格填充其下方的空间?

java - 为什么我应该给 If 语句命名?

java - 从 main() 终止 Runnable() 对象

java - 获取所有音乐文件

java - 基于类字段的转换函数返回类型