JavaTM 2 Platform
Std. Ed. v1.3

javax.sound.midi
クラス MetaMessage

java.lang.Object
  |
  +--javax.sound.midi.MidiMessage
        |
        +--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 ファイルで使用されます。
 
クラス javax.sound.midi.MidiMessage から継承したフィールド
data, length
 
コンストラクタの概要
  MetaMessage()
          新しい MetaMessage を構築します。
protected MetaMessage(byte[] data)
          新しい MetaMessage を構築します。
 
メソッドの概要
 Object clone()
          このオブジェクトと同じクラスで、同じ内容の新しいオブジェクトを作成します。
 byte[] getData()
          メタメッセージのデータのコピーを取得します。
 int getType()
          MetaMessage の型を取得します。
 void setMessage(int type, byte[] data, int length)
          MetaMessage のメッセージパラメータを設定します。
 
クラス javax.sound.midi.MidiMessage から継承したメソッド
getLength, getMessage, getStatus, setMessage
 
クラス java.lang.Object から継承したメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

META

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

MetaMessage

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

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()
このオブジェクトと同じクラスで、同じ内容の新しいオブジェクトを作成します。
オーバーライド:
クラス MidiMessage 内の clone
戻り値:
このインスタンスの複製

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.