JavaTM 2 Platform
Standard Ed. 6

javax.sound.midi
類別 ShortMessage

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

public class ShortMessage
extends MidiMessage

ShortMessage 套件含了一個 MIDI 訊息,該訊息在狀態位元組後最多有兩個資料位元組。滿足此標準的 MIDI 訊息型別是通道聲音、通道網要、系統常見和系統實時訊息,換句話說,除系統獨佔和元事件之外的所有情況。ShortMessage 類別提供了用於獲取和設置 MIDI 訊息內容的方法。

多個 ShortMessage 方法帶有整數參數,您可通過它來指定 MIDI 狀態或資料位元組。如果知道此數字值,則可以直接使用數字表示。對於系統常見和系統實時訊息,通常可使用相應的 ShortMessage 欄位,例如 SYSTEM_RESET。對於通道訊息,狀態位元組的高四位由一個命令值指定,低四位由一個 MIDI 通道號指定。要轉換傳入的 MIDI 資料位元組(Java 帶符號位元組格式),可以使用 MidiMessage 類別描述中給出的變換碼

另請參見:
SysexMessage, MetaMessage

欄位摘要
static int ACTIVE_SENSING
          ACTIVE_SENSING 訊息的狀態位元組(0xFE 或 254)。
static int CHANNEL_PRESSURE
          CHANNEL_PRESSURE (Aftertouch) 訊息的命令值(0xD0 或 208)
static int CONTINUE
          CONTINUE 訊息的狀態位元組(0xFB 或 251)。
static int CONTROL_CHANGE
          CONTROL_CHANGE 訊息的命令值(0xB0 或 176)
static int END_OF_EXCLUSIVE
          End of System Exclusive 訊息的狀態位元組(0xF7 或 247)。
static int MIDI_TIME_CODE
          MIDI Time Code Quarter Frame 訊息的狀態位元組(0xF1 或 241)。
static int NOTE_OFF
          NOTE_OFF 訊息的命令值(0x80 或 128)
static int NOTE_ON
          NOTE_ON 訊息的命令值(0x90 或 144)
static int PITCH_BEND
          PITCH_BEND 訊息的命令值(0xE0 或 224)
static int POLY_PRESSURE
          Polyphonic Key Pressure (Aftertouch) 訊息的命令值(0xA0 或 128)
static int PROGRAM_CHANGE
          PROGRAM_CHANGE 訊息的命令值(0xC0 或 192)
static int SONG_POSITION_POINTER
          SONG_POSITION_POINTER 訊息的狀態位元組(0xF2 或 242)。
static int SONG_SELECT
          MIDI SONG_SELECT 訊息的狀態位元組(0xF3 或 243)。
static int START
          START 訊息的狀態位元組(0xFA 或 250)。
static int STOP
          STOP 訊息的狀態位元組(0xFC 或 252)。
static int SYSTEM_RESET
          SYSTEM_RESET 訊息的狀態位元組(0xFF 或 255)。
static int TIMING_CLOCK
          TIMING_CLOCK 訊息的狀態位元組(0xF8 或 248)。
static int TUNE_REQUEST
          TUNE_REQUEST 訊息的狀態位元組(0xF6 或 246)。
 
從類別 javax.sound.midi.MidiMessage 繼承的欄位
data, length
 
建構子摘要
  ShortMessage()
          建構一個新的 ShortMessage
protected ShortMessage(byte[] data)
          建構一個新的 ShortMessage
 
方法摘要
 Object clone()
          創建一個與此物件具有相同類別和相同內容的新物件。
 int getChannel()
          獲取與此事件關聯的 MIDI 通道。
 int getCommand()
          獲取與此事件關聯的 MIDI 命令。
 int getData1()
          獲取訊息中的第一個資料位元組。
 int getData2()
          獲取訊息中的第二個資料位元組。
protected  int getDataLength(int status)
          檢索與特定狀態位元組值關聯的資料位元組數。
 void setMessage(int status)
          為不帶任何資料位元組的 MIDI 訊息設置參數。
 void setMessage(int status, int data1, int data2)
          為帶一個或兩個資料位元組的 MIDI 訊息設置參數。
 void setMessage(int command, int channel, int data1, int data2)
          為帶兩個資料位元組的通道訊息設置短訊息參數。
 
從類別 javax.sound.midi.MidiMessage 繼承的方法
getLength, getMessage, getStatus, setMessage
 
從類別 java.lang.Object 繼承的方法
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

欄位詳細資訊

MIDI_TIME_CODE

public static final int MIDI_TIME_CODE
MIDI Time Code Quarter Frame 訊息的狀態位元組(0xF1 或 241)。

另請參見:
MidiMessage.getStatus(), 常數欄位值

SONG_POSITION_POINTER

public static final int SONG_POSITION_POINTER
SONG_POSITION_POINTER 訊息的狀態位元組(0xF2 或 242)。

另請參見:
MidiMessage.getStatus(), 常數欄位值

SONG_SELECT

public static final int SONG_SELECT
MIDI SONG_SELECT 訊息的狀態位元組(0xF3 或 243)。

另請參見:
MidiMessage.getStatus(), 常數欄位值

TUNE_REQUEST

public static final int TUNE_REQUEST
TUNE_REQUEST 訊息的狀態位元組(0xF6 或 246)。

另請參見:
MidiMessage.getStatus(), 常數欄位值

END_OF_EXCLUSIVE

public static final int END_OF_EXCLUSIVE
End of System Exclusive 訊息的狀態位元組(0xF7 或 247)。

另請參見:
MidiMessage.getStatus(), 常數欄位值

TIMING_CLOCK

public static final int TIMING_CLOCK
TIMING_CLOCK 訊息的狀態位元組(0xF8 或 248)。

另請參見:
MidiMessage.getStatus(), 常數欄位值

START

public static final int START
START 訊息的狀態位元組(0xFA 或 250)。

另請參見:
MidiMessage.getStatus(), 常數欄位值

CONTINUE

public static final int CONTINUE
CONTINUE 訊息的狀態位元組(0xFB 或 251)。

另請參見:
MidiMessage.getStatus(), 常數欄位值

STOP

public static final int STOP
STOP 訊息的狀態位元組(0xFC 或 252)。

另請參見:
MidiMessage.getStatus(), 常數欄位值

ACTIVE_SENSING

public static final int ACTIVE_SENSING
ACTIVE_SENSING 訊息的狀態位元組(0xFE 或 254)。

另請參見:
MidiMessage.getStatus(), 常數欄位值

SYSTEM_RESET

public static final int SYSTEM_RESET
SYSTEM_RESET 訊息的狀態位元組(0xFF 或 255)。

另請參見:
MidiMessage.getStatus(), 常數欄位值

NOTE_OFF

public static final int NOTE_OFF
NOTE_OFF 訊息的命令值(0x80 或 128)

另請參見:
常數欄位值

NOTE_ON

public static final int NOTE_ON
NOTE_ON 訊息的命令值(0x90 或 144)

另請參見:
常數欄位值

POLY_PRESSURE

public static final int POLY_PRESSURE
Polyphonic Key Pressure (Aftertouch) 訊息的命令值(0xA0 或 128)

另請參見:
常數欄位值

CONTROL_CHANGE

public static final int CONTROL_CHANGE
CONTROL_CHANGE 訊息的命令值(0xB0 或 176)

另請參見:
常數欄位值

PROGRAM_CHANGE

public static final int PROGRAM_CHANGE
PROGRAM_CHANGE 訊息的命令值(0xC0 或 192)

另請參見:
常數欄位值

CHANNEL_PRESSURE

public static final int CHANNEL_PRESSURE
CHANNEL_PRESSURE (Aftertouch) 訊息的命令值(0xD0 或 208)

另請參見:
常數欄位值

PITCH_BEND

public static final int PITCH_BEND
PITCH_BEND 訊息的命令值(0xE0 或 224)

另請參見:
常數欄位值
建構子詳細資訊

ShortMessage

public ShortMessage()
建構一個新的 ShortMessage。可保證新訊息的內容指定一個有效的 MIDI 訊息。之後,可以使用 setMessage 方法之一來設置訊息的內容。

另請參見:
setMessage(int)

ShortMessage

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

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

setMessage

public void setMessage(int status)
                throws InvalidMidiDataException
為不帶任何資料位元組的 MIDI 訊息設置參數。

參數:
status - MIDI 狀態位元組
拋出:
InvalidMidiDataException - 如果 status 沒有為不要求任何資料位元組的訊息指定有效的 MIDI 狀態位元組。
InvalidMidiDataException
另請參見:
setMessage(int, int, int), setMessage(int, int, int, int)

setMessage

public void setMessage(int status,
                       int data1,
                       int data2)
                throws InvalidMidiDataException
為帶一個或兩個資料位元組的 MIDI 訊息設置參數。如果訊息只帶一個資料位元組,則忽略第二個資料位元組;如果訊息不帶任何資料位元組,則忽略兩個資料位元組。

參數:
status - MIDI 狀態位元組
data1 - 第一個資料位元組
data2 - 第二個資料位元組
拋出:
InvalidMidiDataException - 如果該狀態位元組或屬於此訊息的所有資料位元組都未指定有效的 MIDI 訊息。
InvalidMidiDataException
另請參見:
setMessage(int, int, int, int), setMessage(int)

setMessage

public void setMessage(int command,
                       int channel,
                       int data1,
                       int data2)
                throws InvalidMidiDataException
為帶兩個資料位元組的通道訊息設置短訊息參數。如果訊息只帶一個資料位元組,則忽略第二個資料位元組;如果訊息不帶任何資料位元組,則忽略兩個資料位元組。

參數:
command - 此訊息所表示的 MIDI 命令
channel - 與此訊息關聯的通道
data1 - 第一個資料位元組
data2 - 第二個資料位元組
拋出:
InvalidMidiDataException - 如果該狀態位元組或屬於此訊息的所有資料位元組都未指定有效的 MIDI 訊息
InvalidMidiDataException
另請參見:
setMessage(int, int, int), setMessage(int), getCommand(), getChannel(), getData1(), getData2()

getChannel

public int getChannel()
獲取與此事件關聯的 MIDI 通道。此方法假定事件是一個 MIDI 通道訊息;否則返回值沒有意義。

返回:
與此訊息關聯的 MIDI 通道。
另請參見:
setMessage(int, int, int, int)

getCommand

public int getCommand()
獲取與此事件關聯的 MIDI 命令。此方法假定事件是一個 MIDI 通道訊息;否則返回值沒有意義。

另請參見:
setMessage(int, int, int, int)

getData1

public int getData1()
獲取訊息中的第一個資料位元組。

返回:
data1 欄位的值
另請參見:
setMessage(int, int, int)

getData2

public int getData2()
獲取訊息中的第二個資料位元組。

返回:
data2 欄位的值
另請參見:
setMessage(int, int, int)

clone

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

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

getDataLength

protected final int getDataLength(int status)
                           throws InvalidMidiDataException
檢索與特定狀態位元組值關聯的資料位元組數。

參數:
status - 狀態位元組值,必須表示一個短 MIDI 訊息
返回:
資料長度,以位元組為單位(0、1 或 2)
拋出:
InvalidMidiDataException - 如果 status 參數不表示任何短訊息的狀態位元組
InvalidMidiDataException

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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