我在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));
答案 0 :(得分:0)
在“设备管理器”中禁用音频设备时,我在Windows上遇到同样的错误。我认为问题是 - 音频设备驱动程序,尝试更新或重新安装它。