首页 > 解决方案 > getAudioInputStream 导致异常

问题描述

我正在尝试制作一个非常简单的程序来播放声音文件。

到目前为止,我所拥有的是:

import java.io.File;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;

public class SoundTest {

    public static void main(String[] args) {

        File sound = new File("/home/pierce/Downloads/clapping.wav");
        playSound(sound);

    }

    static void playSound(File sound) {
        try {
            Clip clip = AudioSystem.getClip();
            clip.open(AudioSystem.getAudioInputStream(sound));
        } catch(Exception e) {
            System.out.println("Something failed");
        }
    }

}

添加“clip.open(AudioSystem.getAudioInputStream(sound));”行后,我开始在异常中收到消息。基本上我不知道为什么。任何帮助,将不胜感激。

如果有助于了解我的目标,我正在尝试遵循教程。

谢谢

编辑:堆栈跟踪,根据要求:

java.lang.IllegalArgumentException: Invalid format
    at org.classpath.icedtea.pulseaudio.PulseAudioDataLine.createStream(PulseAudioDataLine.java:142)
    at org.classpath.icedtea.pulseaudio.PulseAudioDataLine.open(PulseAudioDataLine.java:99)
    at org.classpath.icedtea.pulseaudio.PulseAudioDataLine.open(PulseAudioDataLine.java:283)
    at org.classpath.icedtea.pulseaudio.PulseAudioClip.open(PulseAudioClip.java:402)
    at org.classpath.icedtea.pulseaudio.PulseAudioClip.open(PulseAudioClip.java:453)
    at SoundTest.playSound(SoundTest.java:17)
    at SoundTest.main(SoundTest.java:10)

标签: javajavasoundillegalargumentexception

解决方案


推荐阅读