no link
2011年07月03日 16:13:46
最近JMFをインストールしたのですが、その後JREでMIDIを鳴らすことができなくなりました。
この問題の原因を調べて、対処方法を確立しましたので、以下にまとめておきます。
● 問題の発生
JMFを導入すると、JDKやJREでのMIDIの再生で、以下のエラーが起きるようになり、MIDIが再生されなくなる。
javax.sound.midi.MidiUnavailableException: MIDI OUT transmitter not available
● 原因
JMFをインストールすると、以下の変更が行なわれる。
・CLASSPATHに「\lib\sound.jar」が追加される。
・JRE内の「lib\ext」フォルダに、「sound.jar」が書き込まれる。
・「\jre\lib\ext\sound.jar」
・「\lib\ext\sound.jar」
この「sound.jar」は、2001年7月26日 9時30分作成の古いものである。JMFインストール以降、この古い「sound.jar」でMIDIが再生されるようになる。この「sound.jar」は、正しくMIDIを再生できない。
このためエラーが起き、MIDIが再生されなくなる。
● 対策
2つの手順を行う。
○ Windowsの環境変数を書き換える
1.システムのプロパティを開く。(例:システム→システムの詳細設定をクリック)
2.システムのプロパティダイアログで[詳細設定]タブを選択。
3.[環境変数]ボタンを押す。
4.「<ユーザー名>のユーザー環境変数」の「CLASSPATH」を選択して、[編集]ボタンを押す。
5.「\lib\sound.jar;」の部分を削除する。
○ 「sound.jar」を削除する
以下のファイルを削除する(別名にするなどでは駄目。削除が必要)。
・「\lib\sound.jar」
・「\jre\lib\ext\sound.jar」
・「\lib\ext\sound.jar」
これでMIDIで音が再生されるようになります。