|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.sound.midi
类 MidiMessage
java.lang.Object javax.sound.midi.MidiMessage
- 所有已实现的接口:
- Cloneable
- 直接已知子类:
- MetaMessage, ShortMessage, SysexMessage
MidiMessage
是 MIDI 消息的基类。这些基类中不仅包含了合成器可响应的标准 MIDI 消息,还包含可供 sequencer 程序使用的“元事件”。还有针对类似歌词、版权、速度指示、时间和主要签名、制造者等信息的元事件。有关更多的信息,请参见 Standard MIDI Files 1.0 规范,它是由 MIDI 制造商协会 (http://www.midi.org) 发布的 Complete MIDI 1.0 Detailed Specification 的一部分。
MidiMessage
基类提供了对有关 MIDI 消息的三类信息的访问:
- 消息的状态字节
- 消息的总长度,以字节为单位(状态字节加数据字节)
- 包含完整消息的 byte 数组
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 |
字段详细信息 |
---|
data
protected byte[] data
-
MIDI 消息数据。第一个字节是消息的状态字节;后面一直到消息长度字节为止的是此消息的数据字节。
- 另请参见:
-
getLength()
length
protected int length
-
MIDI 消息中的字节数,包括状态字节和数据字节。
- 另请参见:
-
getLength()
构造方法详细信息 |
---|
MidiMessage
protected MidiMessage(byte[] data)
-
构造一个新的
MidiMessage
。此受保护的构造方法由具体子类调用,具体子类应确保数据数组指定一个完整有效的 MIDI 消息。- 参数:
-
data
- 包含完整消息的 byte 数组。使用setMessage
方法可更改消息数据。 - 另请参见:
-
setMessage(byte[], int)
方法详细信息 |
---|
setMessage
protected void setMessage(byte[] data, int length) throws InvalidMidiDataException
- 为 MIDI 消息设置数据。此受保护的方法由具体子类调用,具体子类应确保数据数组指定一个完整有效的 MIDI 消息。
-
getMessage
public byte[] getMessage()
-
获得 MIDI 消息数据。返回的 byte 数组中的第一个字节是消息的状态字节。后面一直到消息长度字节为止的是数据字节。byte 数组的长度可能会大于实际消息的长度;消息总长度(以字节为单位)由
方法报告。getLength()
-
-
- 返回:
-
包含完整的
MidiMessage
数据的 byte 数组
getStatus
public int getStatus()
-
获得 MIDI 消息的状态字节。以整数方式表示状态“字节”;请参见
MidiMessage
类描述中的讨论。 -
-
- 返回:
- 此事件的状态字节的整数表示形式
getLength
public int getLength()
- 获得 MIDI 消息的总长度,以字节为单位。一个 MIDI 消息包含一个状态字节和零个或多个数据字节。返回值的范围:系统实时消息为 1,通道消息为 2 或 3,元和系统独占消息为任意值。
-
-
- 返回:
- 消息的长度,以字节为单位
clone
public abstract Object clone()
所有类
|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |