【JavaSE】フレームワークライブラリを更新 (2011/09/17)
JavaSE向けビデオゲームライブラリ(isle_shimakura.jar)を更新した。
- Ubuntu(PulseAudio)で、VGAudioClipがWAVファイルの読み込みに失敗していたのを修正
- Ubuntu(PulseAudio)で、VGAudioClipのstartメソッドを繰り返し呼んだとき鳴らなかったのを修正
以下は変更内容に関してのメモ。
- "java.lang.IllegalArgumentException: Invalid format"という例外が発生していた。
修正前
InputStream is = getClass().getClassLoader().getResource(name).openStream(); BufferedInputStream bis = new BufferedInputStream(is); AudioInputStream ais = AudioSystem.getAudioInputStream(bis); clip = AudioSystem.getClip(); clip.open(ais);
修正後
InputStream is = getClass().getClassLoader().getResource(name).openStream(); BufferedInputStream bis = new BufferedInputStream(is); AudioInputStream ais = AudioSystem.getAudioInputStream(bis); AudioFormat fmt = ais.getFormat(); DataLine.Info info = new DataLine.Info(Clip.class, fmt); clip = (Clip)AudioSystem.getLine(info); clip.open(ais);
- Clip::setFramePositionで再生位置をリセットする前に、Clip::stopを呼ぶときちんと再生された。
Ubuntu(PulseAudio)環境での不具合はまだ残っている。Clipの再生開始・終了時にブロックが発生してカクカクした動きになる。たぶんその部分をスレッド化すれば進行は滑らかになるだろうけど、発声のタイミングは…。音ゲーは無理っぽい。
| 固定リンク
「JavaSE」カテゴリの記事
- 【JavaSE】フレームワークライブラリを更新 (2011/09/17)(2011.09.17)
- 【JavaSE】フレームワークライブラリを更新 (2011/09/14)(2011.09.14)
- タイルマップ座標のオフセットを求める(2011.06.21)
- 【JavaSE】フレームワークライブラリを更新 (2011/03/01)(2011.03.01)
- 【JavaSE】サイドビューの実験(17/17)(2010.10.12)
コメント