JavaTM 2 Platform
Standard Ed. 6

javax.sound.midi
類別 MetaMessage

java.lang.Object
  繼承者 javax.sound.midi.MidiMessage
      繼承者 javax.sound.midi.MetaMessage
所有已實作的介面:
Cloneable

public class MetaMessage
extends MidiMessage

MetaMessage 是一個 MidiMessage,它對於合成器沒有任何意義,但可存儲在一個 MIDI 檔案中然後由 sequencer 程序解釋。(請參閱 MidiMessage 類別描述中的論述。)Standard MIDI Files 規範定義了各種元事件型別,例如序列號、歌詞、提示點和設置的速度。還有針對類似歌詞、版權、速度指示、時間和主要簽章、製造者等資訊的元事件。有關更多的資訊,請參見 Standard MIDI Files 1.0 規範,它是由 MIDI 製造商協會 (http://www.midi.org) 發佈的 Complete MIDI 1.0 Detailed Specification 的一部分。

使用 MIDI wire 協議傳輸資料時,ShortMessage 帶狀態值 0xFF 表示系統重置訊息。在 MIDI 檔案中,此相同的狀態值表示 MetaMessage。各個元訊息型別通過狀態位元組 0xFF 後面的第一個位元組進行區分。後續的位元組是資料位元組。與系統獨佔訊息相同,其中還有任意個資料位元組,具體取決於 MetaMessage 的型別。

另請參見:
MetaEventListener

欄位摘要
static int META
          MetaMessage 的狀態位元組(0xFF 或 255),供在 MIDI 檔案中使用。
 
從類別 javax.sound.midi.MidiMessage 繼承的欄位
data, length
 
建構子摘要
  MetaMessage()
          建構一個新的 MetaMessage
protected MetaMessage(byte[] data)
          建構一個新的 MetaMessage
 
方法摘要
 Object clone()
          創建一個與此物件具有相同類別和相同內容的新物件。
 byte[] getData()
          獲得元訊息資料的副本。
 int getType()
          獲得 MetaMessage 的型別。
 void setMessage(int type, byte[] data, int length)
          為 MetaMessage 設置訊息參數。
 
從類別 javax.sound.midi.MidiMessage 繼承的方法
getLength, getMessage, getStatus, setMessage
 
從類別 java.lang.Object 繼承的方法
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

欄位詳細資訊

META

public static final int META
MetaMessage 的狀態位元組(0xFF 或 255),供在 MIDI 檔案中使用。它與 SYSTEM_RESET 具有相同的值,用於實時 "MIDI wire" 協議中。

另請參見:
MidiMessage.getStatus(), 常數欄位值
建構子詳細資訊

MetaMessage

public MetaMessage()
建構一個新的 MetaMessage。在此不設置訊息的內容;可隨後使用 setMessage 對其進行設置。


MetaMessage

protected MetaMessage(byte[] data)
建構一個新的 MetaMessage

參數:
data - 套件含完整訊息的 byte 陣列。使用 setMessage 方法可更改訊息資料。
另請參見:
setMessage(int, byte[], int)
方法詳細資訊

setMessage

public void setMessage(int type,
                       byte[] data,
                       int length)
                throws InvalidMidiDataException
MetaMessage 設置訊息參數。由於元訊息只允許有一個狀態位元組值 0xFF,因此在這裡不需要對其進行指定。對於所有的元訊息,調用 getStatus 都返回 0xFF

type 參數應該是一個 MetaMessage 中的狀態位元組後的 byte 有效值。data 參數應包含 MetaMessage 的所有後續位元組。換句話說,不將指定 MetaMessage 型別的位元組認為是資料位元組。

參數:
type - 元訊息型別(不超過 128)
data - MIDI 訊息中的資料位元組
length - data byte 陣列中的位元組數
拋出:
InvalidMidiDataException - 如果參數值未指定有效的 MIDI 元訊息
InvalidMidiDataException

getType

public int getType()
獲得 MetaMessage 的型別。

返回:
一個表示 MetaMessage 型別的整數

getData

public byte[] getData()
獲得元訊息資料的副本。返回的 byte 陣列不包括狀態位元組或訊息長度資料。元訊息的資料長度就是陣列的長度。注意,整個訊息的長度包括了狀態位元組和元訊息型別位元組,因此可能比返回的陣列更長。

返回:
包含元訊息資料的陣列。
另請參見:
MidiMessage.getLength()

clone

public Object clone()
創建一個與此物件具有相同類別和相同內容的新物件。

指定者:
類別 MidiMessage 中的 clone
返回:
此實例的一個副本。
另請參見:
Cloneable

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only