|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjavax.sound.midi.MidiMessage
javax.sound.midi.SysexMessage
public class 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 内の cloneCloneable
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。