モジュール 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バイト値を整数型として直接表すことができます。 たとえば、ShortMessage setMessage(int)メソッドの最初の引数として"アクティブセンシング"ステータス・バイトを渡すには、それを254または0xFEとして表すことができます。

関連項目:
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    protected byte[]
    MIDIメッセージ・データです。
    protected int
    MIDIメッセージのバイト数で、ステータス・バイトとデータ・バイトを含みます。
  • コンストラクタのサマリー

    コンストラクタ
    修飾子
    コンストラクタ
    説明
    protected
    MidiMessage(byte[] data)
    新しいMidiMessageを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    abstract Object
    このオブジェクトと同じクラスで、同じ内容の新しいオブジェクトを作成します。
    int
    MIDIメッセージの全長をバイトで取得します。
    byte[]
    MIDIメッセージ・データを取得します。
    int
    MIDIメッセージのステータス・バイトを取得します。
    protected void
    setMessage(byte[] data, int length)
    MIDIメッセージのデータを設定します。

    クラス java.lang.Objectで宣言されたメソッド

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • フィールド詳細

    • data

      protected byte[] data
      MIDIメッセージ・データです。 最初のバイトはメッセージのステータス・バイトです。メッセージの長さまでの後続のバイトが、このメッセージのデータ・バイトです。
      関連項目:
    • length

      protected int length
      MIDIメッセージのバイト数で、ステータス・バイトとデータ・バイトを含みます。
      関連項目:
  • コンストラクタの詳細

    • MidiMessage

      protected MidiMessage(byte[] data)
      新しいMidiMessageを構築します。 このprotectedコンストラクタは具象サブクラスによって呼び出され、その具象サブクラスでは有効なMIDIメッセージ全体をデータ配列に指定します。
      パラメータ:
      data - 詳細なメッセージを含むバイトの配列。 メッセージ・データはsetMessageメソッドを使って変更できる。
      関連項目:
  • メソッドの詳細

    • setMessage

      protected void setMessage(byte[] data, int length) throws InvalidMidiDataException
      MIDIメッセージのデータを設定します。 このprotectedメソッドは具象サブクラスによって呼び出され、その具象サブクラスでは有効なMIDIメッセージ全体をデータ配列に指定します。
      パラメータ:
      data - MIDIメッセージのデータ・バイト
      length - dataバイト配列のバイト数
      例外:
      InvalidMidiDataException - パラメータ値が有効なMIDIメタ・メッセージを指定していない場合
    • getMessage

      public byte[] getMessage()
      MIDIメッセージ・データを取得します。 返されるバイト配列の最初のバイトはメッセージのステータス・バイトです。 メッセージの長さまでの後続のバイトが、データ・バイトです。 バイト配列の長さは、実際のメッセージの長さよりも長くてもよい。バイト単位のメッセージの合計長は、getLength()メソッドによって報告されます。
      戻り値:
      まとまったMidiMessageデータを含むバイト配列
    • getStatus

      public int getStatus()
      MIDIメッセージのステータス・バイトを取得します。 ステータス「バイト」は整数型として表されます。MidiMessageクラスの説明を参照してください。
      戻り値:
      このイベントのステータス・バイトの整数型表示
    • getLength

      public int getLength()
      MIDIメッセージの全長をバイトで取得します。 MIDIメッセージは1つのステータス・バイトとゼロまたはそれ以上のデータ・バイトで構成されます。 戻り値は、システム・リアルタイム・メッセージを示す1、チャネル・メッセージを示す2または3、メタ・メッセージおよびシステム・エクスクルーシブ・メッセージを示すその他の値になります。
      戻り値:
      バイト表示によるメッセージの長さ
    • clone

      public abstract Object clone()
      このオブジェクトと同じクラスで、同じ内容の新しいオブジェクトを作成します。
      オーバーライド:
      clone、クラスObject
      戻り値:
      このインスタンスの複製
      関連項目: