我正處於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