public class SysexMessage extends MidiMessage
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)です。
|
data, length| 修飾子 | コンストラクタ | 説明 |
|---|---|---|
|
SysexMessage() |
新しい
SysexMessageを構築します。 |
protected |
SysexMessage(byte[] data) |
新しい
SysexMessageを構築します。 |
|
SysexMessage(byte[] data, int length) |
新しい
SysexMessageを構築し、メッセージのデータを設定します。 |
|
SysexMessage(int status, byte[] data, int length) |
新しい
SysexMessageを構築し、メッセージのデータを設定します。 |
| 修飾子と型 | メソッド | 説明 |
|---|---|---|
Object |
clone() |
このオブジェクトと同じクラスで、同じ内容の新しいオブジェクトを作成します。
|
byte[] |
getData() |
システム・エクスクルーシブ・メッセージのデータのコピーを取得します。
|
void |
setMessage(byte[] data, int length) |
システム・エクスクルーシブ・メッセージのデータを設定します。
|
void |
setMessage(int status, byte[] data, int length) |
システム・エクスクルーシブ・メッセージのデータを設定します。
|
getLength, getMessage, getStatuspublic static final int SYSTEM_EXCLUSIVE
public static final int SPECIAL_SYSTEM_EXCLUSIVE
public SysexMessage()
SysexMessageを構築します。 新しいメッセージの内容には、有効なMIDIメッセージが指定されることが保証されます。 構築後にメッセージの内容を設定するには、setMessageメソッドの1つを使用します。 setMessage(byte[], int)public SysexMessage(byte[] data,
int length)
throws InvalidMidiDataException
SysexMessageを構築し、メッセージのデータを設定します。 データ配列の先頭のバイトは、有効なシステム・エクスクルーシブ・ステータス・バイト(0xF0または0xF7)である必要があります。 メッセージの内容は、setMessageメソッドの1つを使用して変更できます。 data - ステータス・バイトを含むシステム・エクスクルーシブ・メッセージ・データlength - 配列内の有効なメッセージ・データの長さ(ステータス・バイトを含む)。負でない、data.length以下の数値InvalidMidiDataException - パラメータ値が有効なMIDIメタ・メッセージを指定していない場合。setMessage(byte[], int), setMessage(int, byte[], int), getData()public SysexMessage(int status,
byte[] data,
int length)
throws InvalidMidiDataException
SysexMessageを構築し、メッセージのデータを設定します。 メッセージの内容は、setMessageメソッドの1つを使用して変更できます。 status - メッセージのステータス・バイト。システム・エクスクルーシブの有効なステータス・バイト(0xF0または0xF7)である必要がありますdata - システム・エクスクルーシブ・メッセージのデータ(ステータス・バイトを除く)length - 配列内の有効なメッセージ・データの長さ。負でない、data.length以下の数値InvalidMidiDataException - パラメータ値が有効なMIDIメタ・メッセージを指定していない場合。setMessage(byte[], int), setMessage(int, byte[], int), getData()protected SysexMessage(byte[] data)
SysexMessageを構築します。data - 詳細なメッセージを含むバイトの配列。 メッセージ・データはsetMessageメソッドを使って変更できる。 setMessage(byte[], int)public void setMessage(byte[] data,
int length)
throws InvalidMidiDataException
setMessage、クラスMidiMessagedata - システム・エクスクルーシブ・メッセージのデータlength - 配列内の有効なメッセージ・データの長さ(ステータス・バイトを含む)。InvalidMidiDataException - パラメータ値が有効なMIDIメタ・メッセージを指定していない場合public void setMessage(int status,
byte[] data,
int length)
throws InvalidMidiDataException
status - メッセージのステータス・バイト(0xF0または0xF7)data - システム・エクスクルーシブ・メッセージのデータlength - 配列内の有効なメッセージ・データの長さInvalidMidiDataException - sysexメッセージに対してステータス・バイトが無効な場合public byte[] getData()
public Object clone()
clone、クラスMidiMessageCloneable バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。