我正处于Java编写小型音乐/节奏游戏的初期阶段(通过Slick框架,后者使用OpenAL,但这可能与此无关)。游戏需要以WAV格式读取(和回放)几个声音文件,但其中一些文件正在抛出[javax.sound.sampled.UnsupportedAudioFileException]异常。针对UnsupportedAudioFileException的解决方法?
at javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:1102)
at org.newdawn.slick.openal.WaveData.create(WaveData.java:123)
at org.newdawn.slick.openal.SoundStore.getWAV(SoundStore.java:713)
at org.newdawn.slick.openal.SoundStore.getWAV(SoundStore.java:683)
at org.newdawn.slick.Sound.<init>(Sound.java:33)
这些文件可以在Winamp或Foobar2000的回放就好了,所以这意味着Java的只是不承认文件格式的一些变种。我现在有什么选择?
注:有问题的文件是用户提供的,所以我不能只是将它们转换事前(使用类似的勇气)。任何转换步骤都必须在运行时完成。需要
谢谢你的回答。似乎没有其他人加入到这个,所以我接受这一个:)。虽然有一点更新:Java Media Framework显然已经过时/被遗弃,并且多年未更新,所以它可能不是一个好主意。发现了值得进一步研究的两种选择:FMJ(http://fmj-sf.net/)和Xuggler(http://www.xuggle.com/xuggler/)。 – tschan 2010-06-02 07:03:46