|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjavax.sound.midi.MidiMessage
javax.sound.midi.SysexMessage
public class SysexMessage
表示 MIDI 系統獨佔訊息 SysexMessage 物件。
當從 MIDI 檔案中讀取系統獨佔訊息時,它通常具有已定義的長度。取自 MIDI 檔案的系統獨佔訊息的資料應存儲在 SysexMessage 的資料陣列中,如下所示:系統獨佔訊息狀態位元組(0xF0 或 0xF7),所有訊息資料位元組和最後的獨佔結束標誌 (0xF7)。因此,SysexMessage 物件報告的長度為系統獨佔資料的長度加上兩個位元組:一個位元組為狀態位元組,另一個為獨佔結束標誌。
按照 Standard MIDI Files 規範的規定,有兩個狀態位元組值對於從 MIDI 檔案讀取的 SysexMessage 是合法的:
當使用 Java Sound 處理通過 MIDI 導線協議接收的系統獨佔資料時,它應將資料置於一個或多個 SysexMessage 中。在這種情況下,預先不知道系統獨佔資料的長度;系統獨佔資料的結束由 MIDI 導線位元組串流中的一個獨佔結束標誌 (0xF7) 所標記。
SysexMessage 物件應有狀態值 0xF0。如果此訊息包含該訊息的所有系統獨佔資料,則它應以狀態位元組 0xF7 (EOX) 結束。否則,應在一個或多個 SysexMessage 中發送其他的系統獨佔資料,狀態值為 0xF7。包含系統獨佔訊息最後資料的 SysexMessage 應以 0xF7 (EOX) 值結束,以標記系統獨佔訊息的結束。
如果使用 MIDI 導線協議傳輸取自 SysexMessage 物件的系統獨佔資料,則只有初始 0xF0 狀態位元組、系統獨佔資料本身和最終的 0xF7 (EOX) 位元組應該被傳播;任何用於指示 SysexMessage 套件含連續系統獨佔資料的 0xF7 狀態位元組都不應該通過 MIDI 導線協議被傳播。
| 欄位摘要 | |
|---|---|
static int |
SPECIAL_SYSTEM_EXCLUSIVE
用於 SPECIAL_SYSTEM_EXCLUSIVE 訊息的狀態位元組(0xF7 或 247),供在 MIDI 檔案中使用。 |
static int |
SYSTEM_EXCLUSIVE
用於 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 方法之一來設置訊息的內容。
setMessage(byte[], int)protected SysexMessage(byte[] data)
SysexMessage。
data - 套件含完整訊息的 byte 陣列。使用 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. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。