在java中使用音频格式播放wav文件

时间:2010-06-02 07:10:45

标签: java audio

我在linux操作系统上运行代码时遇到异常。这个代码在windows操作系统上工作正常。下面是例外和使用的代码。

java.lang.IllegalArgumentException:没有行匹配接口Clip支持格式PCM_SIGNED未知采样率,16位,立体声,4字节/帧,支持big-endian。

AudioFormat format = sourceaudio.getFormat();

format = new AudioFormat(
    AudioFormat.Encoding.PCM_SIGNED,
                format.getSampleRate(),
                format.getSampleSizeInBits() * 2,
                format.getChannels(),
                format.getFrameSize() * 2,
                format.getFrameRate(),
                true);

AudioFileFormat.Type targettype = AudioFileFormat.Type.WAVE;
AudioInputStream targetaudiostream = AudioSystem.getAudioInputStream(format, sourceaudio);

sourceaudio.close();
targetaudiostream.close();
System.out.println("55555555");

URL url = new URL("http://localhost:8084/newvideo/PCMfile.wav");
Clip clip = AudioSystem.getClip();
AudioInputStream ais = AudioSystem.getAudioInputStream(url);
clip.open(ais);

System.out.println("seconds: " + (clip.getMicrosecondLength() / 1000000));

1 个答案:

答案 0 :(得分:0)

在“设备管理器”中禁用音频设备时,我在Windows上遇到同样的错误。我认为问题是 - 音频设备驱动程序,尝试更新或重新安装它。