java.lang.Object
javax.sound.midi.MidiMessage
javax.sound.midi.MetaMessage
- 所有已实现的接口:
-
Cloneable
MetaMessage
是一个MidiMessage
,对合成器没有意义,但可以存储在MIDI文件中,并由顺序程序解释。(请参阅MidiMessage
类描述中的讨论。)标准MIDI文件规范定义了各种类型的元事件,例如序列号、歌词、提示点和设置速度。还有用于歌词、版权、速度指示、时间和调号、标记等信息的元事件。有关更多信息,请参阅Complete MIDI 1.0 Detailed Specification中发布的Standard MIDI Files 1.0规范,该规范是由MIDI制造商协会(http://www.midi.org)的一部分。
在使用MIDI线协议传输数据时,状态值为0xFF
的ShortMessage
表示系统复位消息。在MIDI文件中,此相同状态值表示MetaMessage
。元消息的类型通过跟随状态字节0xFF
的第一个字节来区分。随后的字节是数据字节。与系统专用消息一样,数据字节的数量是任意的,取决于MetaMessage
的类型。
- 参见:
-
Field Summary
Fields declared in class javax.sound.midi.MidiMessage
data, length
-
Constructor Summary
ModifierConstructorDescription构造一个新的MetaMessage
。protected
MetaMessage
(byte[] data) 构造一个新的MetaMessage
。MetaMessage
(int type, byte[] data, int length) 构造一个新的MetaMessage
并设置消息参数。 -
Method Summary
Modifier and TypeMethodDescriptionclone()
创建一个与此对象相同类和相同内容的新对象。byte[]
getData()
获取元消息的数据副本。int
getType()
获取MetaMessage
的类型。void
setMessage
(int type, byte[] data, int length) 为MetaMessage
设置消息参数。Methods declared in class javax.sound.midi.MidiMessage
getLength, getMessage, getStatus, setMessage
-
Field Details
-
META
public static final int METAMetaMessage
的状态字节(0xFF,或255),用于MIDI文件中。它具有与实时"MIDI线"协议中使用的ShortMessage.SYSTEM_RESET
相同的值。- 参见:
-
-
Constructor Details
-
MetaMessage
public MetaMessage()构造一个新的MetaMessage
。此处未设置消息的内容;请使用setMessage
随后设置。 -
MetaMessage
构造一个新的MetaMessage
并设置消息参数。消息的内容可以通过使用setMessage
方法更改。- 参数:
-
type
- 元消息类型(必须小于128) -
data
- MIDI消息中的数据字节 -
length
-data
字节数量; 它应为非负且小于或等于data.length
- 抛出:
-
InvalidMidiDataException
- 如果参数值未指定有效的MIDI元消息 - 自:
- 1.7
- 参见:
-
MetaMessage
protected MetaMessage(byte[] data) 构造一个新的MetaMessage
。- 参数:
-
data
- 包含完整消息的字节数组。消息数据可以使用setMessage
方法更改。 - 参见:
-
-
Method Details
-
setMessage
为MetaMessage
设置消息参数。由于元消息只允许一个状态字节值0xFF
,因此此处不需要指定。对于所有元消息,调用getStatus
都会返回0xFF
。type
参数应为跟随状态字节的MetaMessage
中的有效值。data
参数应包含MetaMessage
的所有后续字节。换句话说,指定MetaMessage
类型的字节不被视为数据字节。- 参数:
-
type
- 元消息类型(必须小于128) -
data
- MIDI消息中的数据字节 -
length
-data
字节数量 - 抛出:
-
InvalidMidiDataException
- 如果参数值未指定有效的MIDI元消息
-
getType
public int getType()获取MetaMessage
的类型。- 返回:
-
代表
MetaMessage
类型的整数
-
getData
public byte[] getData()获取元消息的数据副本。返回的字节数组不包括状态字节或消息长度数据。元消息的数据长度为数组的长度。请注意,整个消息的长度包括状态字节和元消息类型字节,因此可能比返回的数组长。- 返回:
- 包含元消息数据的数组
- 参见:
-
clone
创建一个与此对象相同类和相同内容的新对象。- 指定者:
-
clone
在类MidiMessage
- 返回:
- 此实例的克隆
- 参见:
-