« 【JavaSE】フレームワークライブラリを更新 (2011/09/14) | トップページ | 禁則処理付き折り返し文字列描画【ShiftJIS版】 »

2011年9月17日 (土)

【JavaSE】フレームワークライブラリを更新 (2011/09/17)

JavaSE向けビデオゲームライブラリ(isle_shimakura.jar)を更新した。

  1. Ubuntu(PulseAudio)で、VGAudioClipがWAVファイルの読み込みに失敗していたのを修正
  2. Ubuntu(PulseAudio)で、VGAudioClipのstartメソッドを繰り返し呼んだとき鳴らなかったのを修正

以下は変更内容に関してのメモ。

  1. "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);
  2. Clip::setFramePositionで再生位置をリセットする前に、Clip::stopを呼ぶときちんと再生された。

Ubuntu(PulseAudio)環境での不具合はまだ残っている。Clipの再生開始・終了時にブロックが発生してカクカクした動きになる。たぶんその部分をスレッド化すれば進行は滑らかになるだろうけど、発声のタイミングは…。音ゲーは無理っぽい。

|

« 【JavaSE】フレームワークライブラリを更新 (2011/09/14) | トップページ | 禁則処理付き折り返し文字列描画【ShiftJIS版】 »

JavaSE」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« 【JavaSE】フレームワークライブラリを更新 (2011/09/14) | トップページ | 禁則処理付き折り返し文字列描画【ShiftJIS版】 »