- java.lang.Object
- 
- javax.sound.midi.MidiMessage
- 
- javax.sound.midi.SysexMessage
 
 
- 
- すべての実装されたインタフェース:
- Cloneable
 
 public class SysexMessage extends MidiMessage SysexMessageオブジェクトは、MIDIシステム・エクスクルーシブ・メッセージを表します。MIDIファイルから読み込まれるシステム・エクスクルーシブ・メッセージには、必ず長さが定義されています。 MIDIファイルから読み込まれるシステム・エクスクルーシブ・メッセージのデータは、システム・エクスクルーシブ・メッセージ・ステータス・バイト(0xF0または0xF7)、すべてのメッセージ・データ・バイト、最後にエンドオブエクスクルーシブ・フラグ(0xF7)の順に SysexMessageのデータ配列に格納されます。 そのため、SysexMessageオブジェクトが報告する長さは、システム・エクスクルーシブ・データの長さにステータス・バイトの1バイトとエンドオブエクスクルーシブ・フラグの1バイトの合計2バイトを加えた長さになります。標準MIDIファイル仕様の規定では、MIDIファイルから読み込まれる SysexMessageのステータス・バイトの正当な値には次の2つがあります。- 0xF0: システム・エクスクルーシブ・メッセージ(MIDIワイヤー・プロトコルでの場合と同じ)
- 0xF7: 特別なシステム・エクスクルーシブ・メッセージ
 SysexMessagesに配置されます。 この場合、システム・エクスクルーシブ・データの長さは事前にはわかりません。システム・エクスクルーシブ・データの終わりは、MIDIワイヤー・バイト・ストリームのエンドオブエクスクルーシブ・フラグ(0xF7)でマークされています。- 0xF0: システム・エクスクルーシブ・メッセージ(MIDIワイヤー・プロトコルでの場合と同じ)
- 0xF7: エンド・オブ・エクスクルーシブ(EOX)
 SysexMessageオブジェクトは、状態値が0xF0です。 このメッセージに、そのすべてのシステム・エクスクルーシブ・データが含まれている場合、その末尾はステータス・バイト0xF7 (EOX)です。 それ以外の場合は、状態値が0xF7の1つ以上のSysexMessagesで追加のシステム・エクスクルーシブ・データが送信されます。 そのシステム・エクスクルーシブ・メッセージのデータの末尾が含まれているSysexMessageは、末尾の値がシステム・エクスクルーシブ・メッセージの終わりを表す0xF7 (EOX)です。SysexMessagesオブジェクトからのシステム・エクスクルーシブ・データがMIDIワイヤー・プロトコルで転送される場合は、先頭の0xF0ステータス・バイト、システム・エクスクルーシブ・データ自体、および末尾の0xF7 (EOX)バイトだけが送信されます。SysexMessageに追加のシステム・エクスクルーシブ・データが含まれていることを示す0xF7ステータス・バイトは、MIDIワイヤー・プロトコルでは送信されません。
- 
- 
フィールドのサマリーフィールド 修飾子と型 フィールド 説明 static intSPECIAL_SYSTEM_EXCLUSIVEMIDIファイルで使われる、特別なシステム・エクスクルーシブ・メッセージのステータス・バイトです(0xF7または247)。static intSYSTEM_EXCLUSIVEシステム・エクスクルーシブ・メッセージのステータス・バイト(0xF0または240)です。- 
クラス javax.sound.midi.MidiMessageで宣言されたフィールドdata, length
 
- 
 - 
コンストラクタのサマリーコンストラクタ 修飾子 コンストラクタ 説明 SysexMessage()新しいSysexMessageを構築します。protectedSysexMessage(byte[] data)新しいSysexMessageを構築します。SysexMessage(byte[] data, int length)新しいSysexMessageを構築し、メッセージのデータを設定します。SysexMessage(int status, byte[] data, int length)新しいSysexMessageを構築し、メッセージのデータを設定します。
 - 
メソッドのサマリーすべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 Objectclone()このオブジェクトと同じクラスで、同じ内容の新しいオブジェクトを作成します。byte[]getData()システム・エクスクルーシブ・メッセージのデータのコピーを取得します。voidsetMessage(byte[] data, int length)システム・エクスクルーシブ・メッセージのデータを設定します。voidsetMessage(int status, byte[] data, int length)システム・エクスクルーシブ・メッセージのデータを設定します。- 
クラス javax.sound.midi.MidiMessageで宣言されたメソッドgetLength, getMessage, getStatus
 
- 
 
- 
- 
- 
フィールドの詳細- 
SYSTEM_EXCLUSIVEpublic static final int SYSTEM_EXCLUSIVE システム・エクスクルーシブ・メッセージのステータス・バイト(0xF0または240)です。
 - 
SPECIAL_SYSTEM_EXCLUSIVEpublic static final int SPECIAL_SYSTEM_EXCLUSIVE MIDIファイルで使われる、特別なシステム・エクスクルーシブ・メッセージのステータス・バイトです(0xF7または247)。 この値は、リアルタイム「MIDIワイヤー」プロトコルで使われるEND_OF_EXCLUSIVEと同じです。
 
- 
 - 
コンストラクタの詳細- 
SysexMessagepublic SysexMessage() 新しいSysexMessageを構築します。 新しいメッセージの内容には、有効なMIDIメッセージが指定されることが保証されます。 構築後にメッセージの内容を設定するには、setMessageメソッドの1つを使用します。- 関連項目:
- setMessage(byte[], int)
 
 - 
SysexMessagepublic SysexMessage(byte[] data, int length) throws InvalidMidiDataException新しいSysexMessageを構築し、メッセージのデータを設定します。 データ配列の先頭のバイトは、有効なシステム・エクスクルーシブ・ステータス・バイト(0xF0または0xF7)である必要があります。 メッセージの内容は、setMessageメソッドの1つを使用して変更できます。- パラメータ:
- data- ステータス・バイトを含むシステム・エクスクルーシブ・メッセージ・データ
- length- 配列内の有効なメッセージ・データの長さ(ステータス・バイトを含む)。負でない、- data.length以下の数値
- 例外:
- InvalidMidiDataException- パラメータ値が有効なMIDIメタ・メッセージを指定していない場合
- 導入されたバージョン:
- 1.7
- 関連項目:
- setMessage(byte[], int),- setMessage(int, byte[], int),- getData()
 
 - 
SysexMessagepublic SysexMessage(int status, byte[] data, int length) throws InvalidMidiDataException新しいSysexMessageを構築し、メッセージのデータを設定します。 メッセージの内容は、setMessageメソッドの1つを使用して変更できます。- パラメータ:
- status- メッセージのステータス・バイト。システム・エクスクルーシブの有効なステータス・バイト(0xF0または0xF7)である必要があります
- data- システム・エクスクルーシブ・メッセージのデータ(ステータス・バイトを除く)
- length- 配列内の有効なメッセージ・データの長さ。負でない、- data.length以下の数値
- 例外:
- InvalidMidiDataException- パラメータ値が有効なMIDIシステム排他メッセージを指定していない場合
- 導入されたバージョン:
- 1.7
- 関連項目:
- setMessage(byte[], int),- setMessage(int, byte[], int),- getData()
 
 - 
SysexMessageprotected SysexMessage(byte[] data) 新しいSysexMessageを構築します。- パラメータ:
- data- 詳細なメッセージを含むバイトの配列。 メッセージ・データは- setMessageメソッドを使って変更できる。
- 関連項目:
- setMessage(byte[], int)
 
 
- 
 - 
メソッドの詳細- 
setMessagepublic void setMessage(byte[] data, int length) throws InvalidMidiDataExceptionシステム・エクスクルーシブ・メッセージのデータを設定します。 データ配列の先頭のバイトは、有効なシステム・エクスクルーシブ・ステータス・バイト(0xF0または0xF7)である必要があります。- オーバーライド:
- setMessage、クラス- MidiMessage
- パラメータ:
- data- システム・エクスクルーシブ・メッセージのデータ
- length- ステータス・バイトを含む配列内の有効なメッセージ・データの長さ
- 例外:
- InvalidMidiDataException- パラメータ値が有効なMIDIシステム排他メッセージを指定していない場合
 
 - 
setMessagepublic void setMessage(int status, byte[] data, int length) throws InvalidMidiDataExceptionシステム・エクスクルーシブ・メッセージのデータを設定します。- パラメータ:
- status- メッセージのステータス・バイト(0xF0または0xF7)
- data- システム・エクスクルーシブ・メッセージのデータ
- length- 配列内の有効なメッセージ・データの長さ
- 例外:
- InvalidMidiDataException- ステータス・バイトがシステム排他メッセージに対して無効である場合
 
 - 
getDatapublic byte[] getData() システム・エクスクルーシブ・メッセージのデータのコピーを取得します。 返されるバイトの配列に、ステータス・バイトは含まれません。- 戻り値:
- システム・エクスクルーシブ・メッセージ・データを含む配列
 
 - 
clonepublic Object clone() このオブジェクトと同じクラスで、同じ内容の新しいオブジェクトを作成します。- 定義:
- clone、クラス- MidiMessage
- 戻り値:
- このインスタンスの複製
- 関連項目:
- Cloneable
 
 
- 
 
-