モジュール java.desktop
パッケージ 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™では符号付きバイトが使用されるため、Java Sound APIはMIDIデータを表現するときにバイトではなく整数を使用します。 たとえば、MidiMessagegetStatus()メソッドはMIDIステータス・バイトを整数型として返します。 Java Sound以外から発信され、符号付きバイトとしてエンコードされたMIDIデータを処理する場合、この変換を使用してバイトを整数に変換できます:

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

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

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

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

      コンストラクタ 
      修飾子 コンストラクタ 説明
      protected MidiMessage​(byte[] data)
      新しいMidiMessageを構築します。
    • フィールドの詳細

      • data

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

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

      • MidiMessage

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

      • 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
        戻り値:
        このインスタンスの複製
        関連項目:
        Cloneable