| 
JavaTM 2 Platform Std. Ed. v1.4.0  | 
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
java.lang.Object
  |
  +--javax.sound.midi.MidiMessage
        |
        +--javax.sound.midi.SysexMessage
SysexMessage オブジェクトは、MIDI システムエクスクルーシブメッセージを表します。
MIDI ファイルから読み込まれるシステムエクスクルーシブメッセージには、必ず長さが定義されています。MIDI ファイルから読み込むシステムエクスクルーシブメッセージのデータは、システムエクスクルーシブメッセージステータスバイト (0xF0 または 0xF7)、すべてのメッセージデータバイト、最後にエンドオブエクスクルーシブフラグ (0xF7) の順に SysexMessage のデータ配列に格納されます。そのため、SysexMessage オブジェクトが報告する長さは、システムエクスクルーシブデータの長さにステータスバイトの 1 バイトとエンドオブエクスクルーシブフラグの 1 バイトの合計 2 バイトを加えた長さになります。
標準 MIDI ファイル仕様の規定では、MIDI ファイルから読み込まれる SysexMessage のステータスバイトの正当な値には次の 2 つがあります。
MIDI ワイヤプロトコルを使って受信されたシステムエクスクルーシブデータが Java Sound によって処理されると、データは 1 つ以上の SysexMessages に配置されます。この場合、システムエクスクルーシブデータの長さは事前にはわかりません。システムエクスクルーシブデータの終わりは、MIDI ワイヤバイトストリームのエンドオブエクスクルーシブフラグ (0xF7) で表わされています。
SysexMessage オブジェクトは、状態値が 0xF0 です。このメッセージに、そのすべてのシステムエクスクルーシブデータが含まれている場合、その末尾はステータスバイト 0xF7 (EOX) です。含まれていないシステムエクスクルーシブデータがある場合は、状態値が 0xF7 の 1 つ以上の SysexMessages で追加のシステムエクスクルーシブデータが送信されます。そのシステムエクスクルーシブメッセージのデータの末尾を含んでいる SysexMessage は、末尾の値がシステムエクスクルーシブメッセージの終わりを表わす 0xF7 (EOX) です。
SysexMessages オブジェクトからのシステムエクスクルーシブデータが MIDI ワイヤプロトコルで転送される場合は、先頭の 0xF0 ステータスバイト、システムエクスクルーシブデータ自体、および末尾の 0xF7 (EOX) バイトだけが送信されます。SysexMessage に追加のシステムエクスクルーシブデータが含まれていることを示す 0xF7 ステータスバイトは、MIDI ワイヤプロトコルでは送信されません。
| フィールドの概要 | |
static int | 
SPECIAL_SYSTEM_EXCLUSIVE
MIDI ファイルで使われる、特別なシステムエクスクルーシブメッセージのステータスバイトです (0xF7 または 247)。  | 
static int | 
SYSTEM_EXCLUSIVE
システムエクスクルーシブメッセージのステータスバイト (0xF0 または 240)  | 
| クラス javax.sound.midi.MidiMessage から継承したフィールド | 
data, length | 
| コンストラクタの概要 | |
  | 
SysexMessage()
新しい SysexMessage を構築します。 | 
protected  | 
SysexMessage(byte[] data)
新しい SysexMessage を構築します。 | 
| メソッドの概要 | |
 Object | 
clone()
このオブジェクトと同じクラスで、同じ内容の新しいオブジェクトを作成します。  | 
 byte[] | 
getData()
システムエクスクルーシブメッセージのデータのコピーを取得します。  | 
 void | 
setMessage(byte[] data,
           int length)
システムエクスクルーシブメッセージのデータを設定します。  | 
 void | 
setMessage(int status,
           byte[] data,
           int length)
システムエクスクルーシブメッセージのデータを設定します。  | 
| クラス javax.sound.midi.MidiMessage から継承したメソッド | 
getLength, getMessage, getStatus | 
| クラス java.lang.Object から継承したメソッド | 
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| フィールドの詳細 | 
public static final int SYSTEM_EXCLUSIVE
MidiMessage.getStatus(), 
定数フィールド値public static final int SPECIAL_SYSTEM_EXCLUSIVE
MidiMessage.getStatus(), 
定数フィールド値| コンストラクタの詳細 | 
public SysexMessage()
SysexMessage を構築します。新しいメッセージの内容には、有効な MIDI メッセージが指定されることが保証されます。構築後にメッセージの内容を設定するには、setMessage メソッドの 1 つを使用します。
setMessage(byte[], int)protected SysexMessage(byte[] data)
SysexMessage を構築します。
data - 詳細なメッセージを含むバイトの配列。メッセージデータは setMessage メソッドを使って変更できるsetMessage(byte[], int)| メソッドの詳細 | 
public void setMessage(byte[] data,
                       int length)
                throws InvalidMidiDataException
MidiMessage 内の setMessagedata - システムエクスクルーシブメッセージのデータlength - ステータスバイトなどの、配列内の有効なメッセージデータの長さ
InvalidMidiDataException
public void setMessage(int status,
                       byte[] data,
                       int length)
                throws InvalidMidiDataException
status - メッセージのステータスバイト (0xF0 または 0xF7)data - システムエクスクルーシブメッセージのデータlength - 配列内の有効なメッセージデータの長さ
InvalidMidiDataExceptionpublic byte[] getData()
public Object clone()
MidiMessage 内の clone
  | 
JavaTM 2 Platform Std. Ed. v1.4.0  | 
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
 Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
 Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A.  All Rights Reserved.