- java.lang.Object
-
- javax.sound.midi.MidiMessage
-
- javax.sound.midi.MetaMessage
-
- All Implemented Interfaces:
-
Cloneable
public class MetaMessage extends MidiMessage
AMetaMessage是对合成器无意义的MidiMessage,但可以存储在MIDI文件中并由音序器程序解释。 (见MidiMessage类描述中的讨论)。标准MIDI文件规范定义了各种类型的元事件,如序列号,歌词,提示点和设置速度。 还有诸如歌词,版权,速度指示,时间和键签名,标记等信息的元事件。有关更多信息,请参阅标准MIDI文件1.0规范,它是Complete MIDI 1.0详细规范的一部分,由“ MIDI制造商协会( http://www.midi.org )。当数据正被使用MIDI线协议传送的,一
ShortMessage与状态值0xFF表示系统重置消息。 在MIDI文件中,相同的状态值表示一个MetaMessage。 元消息的类型通过状态字节0xFF的第一个字节彼此区分开。 随后的字节是数据字节。 与系统专用消息一样,根据MetaMessage的类型,存在任意数量的数据字节数。- 另请参见:
-
MetaEventListener
-
-
Field Summary
Fields Modifier and Type Field 描述 static intMETAMetaMessage(0xFF或255)的状态字节,用于MIDI文件。-
Fields inherited from class javax.sound.midi.MidiMessage
data, length
-
-
构造方法摘要
构造方法 Modifier Constructor 描述 MetaMessage()构造新的MetaMessage。protectedMetaMessage(byte[] data)构造新的MetaMessage。MetaMessage(int type, byte[] data, int length)构造新的MetaMessage并设置消息参数。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 Objectclone()创建与该对象相同的类和新内容相同的新对象。byte[]getData()获取元消息的数据副本。intgetType()获得MetaMessage的类型。voidsetMessage(int type, byte[] data, int length)设置MetaMessage的消息参数。-
Methods inherited from class javax.sound.midi.MidiMessage
getLength, getMessage, getStatus, setMessage
-
-
-
-
构造方法详细信息
-
MetaMessage
public MetaMessage()
-
MetaMessage
public MetaMessage(int type, byte[] data, int length) throws InvalidMidiDataException构造新的MetaMessage并设置消息参数。 可以使用setMessage方法更改消息的内容。- 参数
-
type- 元消息类型(必须小于128) -
data- MIDI消息中的数据字节 -
length-data字节数组中的字节数; 应为非负数,小于等于data.length - 异常
-
InvalidMidiDataException- 如果参数值未指定有效的MIDI元消息 - 从以下版本开始:
- 1.7
- 另请参见:
-
setMessage(int, byte[], int),getType(),getData()
-
MetaMessage
protected MetaMessage(byte[] data)
构造新的MetaMessage。- 参数
-
data- 包含完整消息的字节数组。 可以使用setMessage方法更改消息数据。 - 另请参见:
-
setMessage(int, byte[], int)
-
-
方法详细信息
-
setMessage
public void setMessage(int type, byte[] data, int length) throws InvalidMidiDataException设置MetaMessage的消息参数。 由于元消息只允许一个状态字节值0xFF,因此不需要在此处指定。 致电getStatus返回0xFF所有元消息。type参数应为type状态字节MetaMessage字节的MetaMessage。 该data参数应包含的所有后续字节MetaMessage。 换句话说,指定MetaMessage的类型的字节不被视为数据字节。- 参数
-
type- 元消息类型(必须小于128) -
data- MIDI信息中的数据字节 -
length-data字节数组中的字节数 - 异常
-
InvalidMidiDataException- 如果参数值没有指定有效的MIDI元消息
-
getType
public int getType()
获得MetaMessage的类型。- 结果
-
一个表示
MetaMessage类型的整数
-
getData
public byte[] getData()
获取元消息的数据副本。 返回的字节数组不包括状态字节或消息长度数据。 元消息的数据长度是数组的长度。 请注意,整个消息的长度包括状态字节和元消息类型字节,因此可能比返回的数组长。- 结果
- 数组包含元消息数据
- 另请参见:
-
MidiMessage.getLength()
-
clone
public Object clone()
创建与该对象相同的类和新内容相同的新对象。- Specified by:
-
clone中的MidiMessage - 结果
- 这个实例的一个克隆
- 另请参见:
-
Cloneable
-
-