好吧,我对此问题感到困惑。我正在尝试运行一些似乎适用于一个人但不适用于另外两个人的专有软件。该软件抛出了这个例外:
线程“AWT-EventQueue-1”中的异常java.lang.IllegalArgumentException:格式无效 at org.classpath.icedtea.pulseaudio.Stream.native_pa_stream_new(原生方法) 在org.classpath.icedtea.pulseaudio.Stream。(Stream.java:263) at org.classpath.icedtea.pulseaudio.PulseAudioDataLine.createStream(PulseAudioDataLine.java:132) at org.classpath.icedtea.pulseaudio.PulseAudioDataLine.open(PulseAudioDataLine.java:100) at org.classpath.icedtea.pulseaudio.PulseAudioSourceDataLine.open(PulseAudioSourceDataLine.java:75) at org.classpath.icedtea.pulseaudio.PulseAudioSourceDataLine.open(PulseAudioSourceDataLine.java:90)
但是,据我所知,我正在运行Sun Java Hotspot。我在Ubuntu 10.10,我知道它使用脉冲音频作为默认音频设备,但是当我尝试切换到ALSA时,我得到了同样的例外。由于此代码在另一台计算机上正确运行,我认为我遇到了配置问题,而不是错误的代码。
可能出现什么问题,我该如何解决?
答案 0 :(得分:1)
位于java和pulseaudio之间的pulse-java jni层确实包含了一些在2011年夏天修复过的并发问题。并发错误通常表现为仅在某些机器上触发并且通常难以调试的竞争条件。请将您的发行版更新到Ubuntu 11.10 Oneiric,或者找一个可以为Maverick 10.10重新编译(backport)openjdk-6(6b23~pre10-0ubuntu4)的人,这个OpenJDK版本已修补以修复所有已知的pulse-java jni错误。