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

クラスMetaMessage

  • すべての実装されたインタフェース:
    Cloneable


    public class MetaMessage
    extends MidiMessage
    MetaMessageはシンセサイザに意味のないMidiMessageですが、MIDIファイルに保存してプログラムで解釈することができます。 (MidiMessageクラスの説明を参照。) 標準MIDIファイルの仕様によってシーケンス番号、歌詞、演奏指示点、テンポの設定など、様々なタイプのメタイベントが定義されています。 また、歌詞、著作権、テンポ指示、拍子記号および調記号、マーカーなどの情報のメタイベントもあります。詳細については、MIDI Manufacturer's Association (http://www.midi.org)発行の『Complete MIDI 1.0 Detailed Specification』に収められているStandard MIDI Files 1.0の仕様を参照してください。

    MIDIワイヤ・プロトコルを使用してデータを転送する場合、ステータス値が0xFFShortMessageはシステム・リセット・メッセージを表します。 MIDIファイルでは、この同じ状態値がMetaMessageを表します。 メタ・メッセージの型は、ステータス・バイト0xFFに続く最初のバイトによってそれぞれ区別されます。 後続のバイトはデータ・バイトです。 システム・エクスクルーシブ・メッセージの場合と同様に、MetaMessageの型によってデータ・バイト数は異なります。

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

      フィールド 
      修飾子と型 フィールド 説明
      static int META
      MetaMessage (0xFFつまり255)のステータス・バイトは、MIDIファイルで使用されます。
    • コンストラクタのサマリー

      コンストラクタ 
      修飾子 コンストラクタ 説明
        MetaMessage​()
      新しいMetaMessageを構築します。
      protected MetaMessage​(byte[] data)
      新しいMetaMessageを構築します。
        MetaMessage​(int type, byte[] data, int length)
      MetaMessageを新しく構築し、メッセージ・パラメータを設定します。
    • フィールドの詳細

      • META

        public static final int META
        MetaMessage (0xFFつまり255)のステータス・バイトは、MIDIファイルで使用されます。 このステータス・バイトは、リアルタイムの「MIDIワイヤー」プロトコルで使用されるSYSTEM_RESETと同じ値を保持します。
        関連項目:
        MidiMessage.getStatus()定数フィールド値
    • コンストラクタの詳細

      • MetaMessage

        public MetaMessage​()
        新しいMetaMessageを構築します。 メッセージの内容はここでは設定されません。続いてsetMessageを使用してメッセージの内容を設定します。
      • MetaMessage

        public MetaMessage​(int type,
                           byte[] data,
                           int length)
                    throws InvalidMidiDataException
        MetaMessageを新しく構築し、メッセージ・パラメータを設定します。 メッセージの内容は、setMessageメソッドを使用して変更できます。
        パラメータ:
        type - メタ・メッセージの型(128未満のこと)
        data - MIDIメッセージのデータ・バイト
        length - dataバイト配列のバイト容量。負の値を指定することはできず、data.length以下
        例外:
        InvalidMidiDataException - パラメータ値が有効なMIDIメタ・メッセージを指定していない場合
        導入されたバージョン:
        1.7
        関連項目:
        setMessage(int, byte[], int), getType(), getData()
      • MetaMessage

        protected MetaMessage​(byte[] data)
        新しいMetaMessageを構築します。
        パラメータ:
        data - 詳細なメッセージを含むバイトの配列。 メッセージ・データはsetMessageメソッドを使って変更できる。
        関連項目:
        setMessage(int, byte[], int)
    • メソッドの詳細

      • setMessage

        public void setMessage​(int type,
                               byte[] data,
                               int length)
                        throws InvalidMidiDataException
        MetaMessageのメッセージ・パラメータを設定します。 メタ・メッセージには唯一0xFFというステータス・バイト値だけが可能なので、ここで指定する必要はありません。 getStatusを呼び出すと、すべてのメタ・メッセージに対して0xFFが返されます。

        MetaMessageでは、type引数がステータス・バイトに続くバイトの有効値となります。 data引数はMetaMessageのすべての後続バイトを含みます。 言い換えると、MetaMessageの型を指定するバイトはデータ・バイトとは見なされません。

        パラメータ:
        type - メタ・メッセージの型(128未満のこと)
        data - MIDIメッセージのデータ・バイト
        length - dataバイト配列のバイト数
        例外:
        InvalidMidiDataException - パラメータ値が有効なMIDIメタ・メッセージを指定していない場合
      • getType

        public int getType​()
        MetaMessageの型を取得します。
        戻り値:
        MetaMessageの型を示す整数型
      • getData

        public byte[] getData​()
        メタ・メッセージのデータのコピーを取得します。 バイトの戻り配列には、ステータス・バイトまたはメッセージ長データは含まれません。 メタ・メッセージのデータの長さが配列の長さです。 メッセージ全体の長さはステータス・バイトおよびメタ・メッセージ型バイトを含むため、戻り配列より長くなる場合があります。
        戻り値:
        メタ・メッセージ・データを含む配列
        関連項目:
        MidiMessage.getLength()
      • clone

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