|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
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 - ステータスバイトなどの、配列内の有効なメッセージデータの長さ
public void setMessage(int status,
byte[] data,
int length)
throws InvalidMidiDataException
status - メッセージのステータスバイト (0xF0 または 0xF7)data - システムエクスクルーシブメッセージのデータlength - 配列内の有効なメッセージデータの長さpublic byte[] getData()
public Object clone()
MidiMessage 内の clone
|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
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.