java.lang.Object javax.sound.midi.MidiMessage
MidiMessage
是 MIDI 消息的基类。这些基类中不仅包含了合成器可响应的标准 MIDI 消息,还包含可供 sequencer 程序使用的“元事件”。还有针对类似歌词、版权、速度指示、时间和主要签名、制造者等信息的元事件。有关更多的信息,请参见 Standard MIDI Files 1.0 规范,它是由 MIDI 制造商协会 (http://www.midi.org) 发布的 Complete MIDI 1.0 Detailed Specification 的一部分。
MidiMessage
基类提供了对有关 MIDI 消息的三类信息的访问:
MidiMessage
包含了用于获取这些值的方法,但不包括用于设置这些值的方法。设置这些值是子类的任务。
MIDI 标准用字节表示 MIDI 数据。但是,由于 JavaTM 使用带符号字节,所以 Java Sound API 表示 MIDI 数据时使用整数而不是字节。例如,MidiMessage
的 getStatus()
方法返回用整数表示的 MIDI 状态字节。如果处理来源于 Java Sound 之外的 MIDI 数据,而现在又编码为带符号字节,可使用以下转换将字节转换为整数:
int i = (int)(byte & 0xFF)
如果只需要将一个已知 MIDI 字节值作为方法参数传递,则可使用(例如)十进制或十六进制符号直接将其表示为整数。例如,要传递“实际有意义的”状态字节作为 ShortMessage 的 setMessage(int)
方法的第一个参数,您可以将其表示为 254 或 0xFE。
字段摘要 | |
---|---|
protected byte[] |
data MIDI 消息数据。 |
protected int |
length MIDI 消息中的字节数,包括状态字节和数据字节。 |
构造方法摘要 | |
---|---|
protected |
MidiMessage(byte[] data) 构造一个新的 MidiMessage 。 |
方法摘要 | |
---|---|
abstract Object |
clone() 创建一个与此对象具有相同类和相同内容的新对象。 |
int |
getLength() 获得 MIDI 消息的总长度,以字节为单位。 |
byte[] |
getMessage() 获得 MIDI 消息数据。 |
int |
getStatus() 获得 MIDI 消息的状态字节。 |
protected void |
setMessage(byte[] data, int length) 为 MIDI 消息设置数据。 |
从类 java.lang.Object 继承的方法 |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
protected byte[] data
getLength()
protected int length
getLength()
构造方法详细信息 |
---|
protected MidiMessage(byte[] data)
MidiMessage
。此受保护的构造方法由具体子类调用,具体子类应确保数据数组指定一个完整有效的 MIDI 消息。
data
- 包含完整消息的 byte 数组。使用
setMessage
方法可更改消息数据。
setMessage(byte[], int)
方法详细信息 |
---|
protected void setMessage(byte[] data, int length) throws InvalidMidiDataException
public byte[] getMessage()
getLength()
方法报告。
MidiMessage
数据的 byte 数组
public int getStatus()
MidiMessage
类描述中的
讨论。
public int getLength()
public abstract Object clone()