- java.lang.Object
-
- javax.sound.midi.MidiMessage
-
- javax.sound.midi.MetaMessage
-
- 实现的所有接口
-
Cloneable
public class MetaMessageextends MidiMessage
MetaMessage
是MidiMessage
,对合成器没有意义,但可以存储在MIDI文件中并由音序器程序解释。 (请参阅MidiMessage
类说明中的讨论。)标准MIDI文件规范定义了各种类型的元事件,例如序列号,歌词,提示点和设置速度。 还有歌词,版权,节奏指示,时间和关键签名,标记等信息的元事件。有关更多信息,请参阅标准MIDI文件1.0规范,该规范是由完整MIDI 1.0详细规范发布的。 MIDI制造商协会( http://www.midi.org )。当数据正被使用MIDI线协议传送的,一
ShortMessage
与状态值0xFF
表示系统重置消息。 在MIDI文件中,此相同的状态值表示MetaMessage
。 元消息的类型通过状态字节0xFF
的第一个字节彼此区分。 后续字节是数据字节。 与系统专用消息一样,有任意数量的数据字节,具体取决于MetaMessage
的类型。- 另请参见:
-
MetaEventListener
-
-
字段汇总
字段 变量和类型 字段 描述 static int
META
MetaMessage
(0xFF或255)的状态字节,用于MIDI文件。-
声明的属性在类 javax.sound.midi.MidiMessage
data, length
-
-
构造方法摘要
构造方法 变量 构造器 描述 MetaMessage()
构造一个新的MetaMessage
。protected
MetaMessage(byte[] data)
构造一个新的MetaMessage
。MetaMessage(int type, byte[] data, int length)
构造一个新的MetaMessage
并设置消息参数。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 Object
clone()
创建与此对象具有相同类并具有相同内容的新对象。byte[]
getData()
获取元消息的数据副本。int
getType()
获得MetaMessage
的类型。void
setMessage(int type, byte[] data, int length)
设置MetaMessage
的消息参数。-
声明方法的类 javax.sound.midi.MidiMessage
getLength, getMessage, getStatus, setMessage
-
-
-
-
字段详细信息
-
META
public static final int META
MetaMessage
(0xFF或255)的状态字节,用于MIDI文件。 它与ShortMessage.SYSTEM_RESET
具有相同的值,用于实时“MIDI线”协议。- 另请参见:
-
MidiMessage.getStatus()
, 常数字段值
-
-
构造方法详细信息
-
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
-
-