モジュール java.desktop
パッケージ javax.sound.midi

クラスMidiMessage

java.lang.Object
javax.sound.midi.MidiMessage
すべての実装されたインタフェース:
Cloneable
直系の既知のサブクラス:
MetaMessage, ShortMessage, SysexMessage

public abstract class MidiMessage extends Object implements Cloneable
MidiMessageはMIDIメッセージの基底クラスです。 これらは、シンセサイザが応答できる標準のMIDIメッセージだけでなく、シーケンサ・プログラムが使用できる「メタイベント」も含みます。 また、歌詞、著作権、テンポ指示、拍子記号および調記号、マーカーなどの情報のメタイベントがあります。詳細については、MIDI Manufacturer's Association (http://www.midi.org)発行の『Complete MIDI 1.0 Detailed Specification』に収められている「Standard MIDI Files 1.0」の仕様を参照してください。

基底MidiMessageクラスは、MIDIメッセージに関する3種類の情報へのアクセスを提供します。

  • メッセージのステータス・バイト
  • バイト表示によるメッセージの全長(ステータス・バイトとデータ・バイト)
  • まとまったメッセージを含むバイト配列
MidiMessageは取得のメソッドを含みますが、これらの値は設定しません。 これらの値の設定はサブクラスにより行われます。

MIDI標準ではMIDIデータをバイトで表現します。 ただし、Javaでは符号付きバイトが使用されるため、MIDIデータの表現時にJava Sound APIではバイトではなく整数が使用されます。 たとえば、MidiMessagegetStatus()メソッドはMIDIステータス・バイトを整数型として返します。 Java Soundの外部で生成されたMIDIデータを処理していて、現在符号付きバイトとしてエンコードされている場合、次の変換を使用してバイトを整数に変換できます:

int i = (int)(byte & 0xFF)

単に既知のMIDIバイト値をメソッド・パラメータとして渡す必要があるだけの場合は、10進表記法または16進表記法を使用して、そのMIDIバイト値を整数型として直接表すことができます。 たとえば、"アクティブセンシング"ステータス・バイトを最初の引数としてShortMessagesetMessage(int)メソッドに渡すには、254または0xFEと表現します。

関連項目: