|
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
内の setMessage
data
- システムエクスクルーシブメッセージのデータlength
- ステータスバイトなどの、配列内の有効なメッセージデータの長さ
InvalidMidiDataException
public void setMessage(int status, byte[] data, int length) throws InvalidMidiDataException
status
- メッセージのステータスバイト (0xF0 または 0xF7)data
- システムエクスクルーシブメッセージのデータlength
- 配列内の有効なメッセージデータの長さ
InvalidMidiDataException
public 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.