Java MidiSystemを使って、MIDIファイルを再生する




SC-88VLなんて中途半端な機器を、むかし買ったことがあったっけw
SC-88PROはやたら高かったんで、買う気になれんかった。なんて学生時代の記憶が。。
いまだにヤフオクで売っててびっくりした。

MidiSystemを使って、MIDIファイルを再生するサンプル

MidiSystemを使って、MIDIファイルを再生します。

実行結果

MIDIファイルが再生されます♪

サンプルの解説

まず、ここで出てくるシーケンサーとはMIDIプレイヤー。シーケンスとは楽譜(MIDIファイルの中身)と思ってください。
んで、処理としては、MidiSystem.getSequencer()でシーケンサーを取得。
つぎに、MidiSystem.getSequence(InputStream)で、MIDIファイルをもとにシーケンスを作成。
Sequencer#setSequence(Sequence)でシーケンサーにシーケンスをセット。
あとは、Sequencer#start()で再生できます。

ただし、再生は、start()という名のとおり、別スレッドで実行されます。
ですので、このサンプルではSequencer#isRunning()で、再生しているかどうか状態を確認しています。