|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.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
中的 setMessage
data
- 系統獨佔訊息資料length
- 陣列中有效訊息資料的長度,包含狀態位元組。
InvalidMidiDataException
public void setMessage(int status, byte[] data, int length) throws InvalidMidiDataException
status
- 訊息的狀態位元組(0xF0 或 0xF7)data
- 系統獨佔訊息資料length
- 陣列中有效訊息資料的長度
InvalidMidiDataException
public byte[] getData()
public Object clone()
MidiMessage
中的 clone
Cloneable
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。