|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjavax.sound.midi.MidiMessage
javax.sound.midi.SysexMessage
public class SysexMessage
表示 MIDI 系统独占消息 SysexMessage 对象。
当从 MIDI 文件中读取系统独占消息时,它通常具有已定义的长度。取自 MIDI 文件的系统独占消息的数据应存储在 SysexMessage 的数据数组中,如下所示:系统独占消息状态字节(0xF0 或 0xF7),所有消息数据字节和最后的独占结束标志 (0xF7)。因此,SysexMessage 对象报告的长度为系统独占数据的长度加上两个字节:一个字节为状态字节,另一个为独占结束标志。
按照 Standard MIDI Files 规范的规定,有两个状态字节值对于从 MIDI 文件读取的 SysexMessage 是合法的:
当使用 Java Sound 处理通过 MIDI 导线协议接收的系统独占数据时,它应将数据置于一个或多个 SysexMessage 中。在这种情况下,预先不知道系统独占数据的长度;系统独占数据的结束由 MIDI 导线字节流中的一个独占结束标志 (0xF7) 所标记。
SysexMessage 对象应有状态值 0xF0。如果此消息包含该消息的所有系统独占数据,则它应以状态字节 0xF7 (EOX) 结束。否则,应在一个或多个 SysexMessage 中发送其他的系统独占数据,状态值为 0xF7。包含系统独占消息最后数据的 SysexMessage 应以 0xF7 (EOX) 值结束,以标记系统独占消息的结束。
如果使用 MIDI 导线协议传输取自 SysexMessage 对象的系统独占数据,则只有初始 0xF0 状态字节、系统独占数据本身和最终的 0xF7 (EOX) 字节应该被传播;任何用于指示 SysexMessage 包含连续系统独占数据的 0xF7 状态字节都不应该通过 MIDI 导线协议被传播。
| 字段摘要 | |
|---|---|
static int |
SPECIAL_SYSTEM_EXCLUSIVE
用于 SPECIAL_SYSTEM_EXCLUSIVE 消息的状态字节(0xF7 或 247),供在 MIDI 文件中使用。 |
static int |
SYSTEM_EXCLUSIVE
用于 SYSTEM_EXCLUSIVE 消息的状态字节(0xF0 或 240)。 |
| 从类 javax.sound.midi.MidiMessage 继承的字段 |
|---|
data, length |
| 构造方法摘要 | |
|---|---|
|
SysexMessage()
构造一个新的 SysexMessage。 |
protected |
SysexMessage(byte[] data)
构造一个新的 SysexMessage。 |
| 方法摘要 | |
|---|---|
Object |
clone()
创建一个与此对象具有相同类和相同内容的新对象。 |
byte[] |
getData()
获得系统独占消息数据的副本。 |
void |
setMessage(byte[] data,
int length)
为系统独占消息设置数据。 |
void |
setMessage(int status,
byte[] data,
int length)
为系统独占消息设置数据。 |
| 从类 javax.sound.midi.MidiMessage 继承的方法 |
|---|
getLength, getMessage, getStatus |
| 从类 java.lang.Object 继承的方法 |
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 字段详细信息 |
|---|
public static final int SYSTEM_EXCLUSIVE
MidiMessage.getStatus(),
常量字段值public static final int SPECIAL_SYSTEM_EXCLUSIVE
MidiMessage.getStatus(),
常量字段值| 构造方法详细信息 |
|---|
public SysexMessage()
SysexMessage。可保证新消息的内容指定一个有效的 MIDI 消息。之后,可以使用 setMessage 方法之一来设置消息的内容。
setMessage(byte[], int)protected SysexMessage(byte[] data)
SysexMessage。
data - 包含完整消息的 byte 数组。使用 setMessage 方法可更改消息数据。setMessage(byte[], int)| 方法详细信息 |
|---|
public void setMessage(byte[] data,
int length)
throws InvalidMidiDataException
MidiMessage 中的 setMessagedata - 系统独占消息数据length - 数组中有效消息数据的长度,包含状态字节。
InvalidMidiDataException
public void setMessage(int status,
byte[] data,
int length)
throws InvalidMidiDataException
status - 消息的状态字节(0xF0 或 0xF7)data - 系统独占消息数据length - 数组中有效消息数据的长度
InvalidMidiDataExceptionpublic byte[] getData()
public Object clone()
MidiMessage 中的 cloneCloneable
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。