public class SysexMessage extends MidiMessage
SysexMessage对象表示一个MIDI系统独占消息。 
        当从MIDI文件读取系统独占消息时,它总是具有一个定义的长度。 来自MIDI文件的系统专用消息的数据应存储在SysexMessage的数据阵列中,如下所示:系统专用消息状态字节(0xF0或0xF7),所有消息数据字节,最后是排他结束标志( 0xF7)。 因此, SysexMessage对象报告的长度是系统专用数据的长度加上两个:一个字节的状态字节,一个字节用于排除结束标志。 
 作为决定由标准MIDI文件规范,两个状态字节值是合法的SysexMessage从MIDI文件读取: 
 当Java Sound用于处理使用MIDI线路协议接收的系统专用数据时,应将数据放在一个或多个SysexMessages 。 在这种情况下,系统专用数据的长度不是预先知道的; 系统独占数据的结尾由MIDI线字节流中的独占结束标志(0xF7)标记。 
SysexMessage对象应该具有状态值0xF0。 
       如果该消息包含消息的所有系统独占数据,则应以状态字节0xF7(EOX)结束。 
       否则,额外的系统专用数据应该在状态值为0xF7的一个或多个SysexMessages发送。 
       所述SysexMessage包含最后系统独占消息应用值0xF7(EOX)结束数据的以标记系统独占消息的结束。 
        如果使用MIDI线路协议传输来自SysexMessages对象的系统专用数据,则SysexMessages初始0xF0状态字节,系统独占数据本身以及最终的0xF7(EOX)字节); 用于指示包含持续系统专用数据的SysexMessage任何0xF7状态字节不应通过MIDI线路协议传播。 
| Modifier and Type | Field and Description | 
|---|---|
| static int | SPECIAL_SYSTEM_EXCLUSIVE
              特殊系统专用消息(0xF7或247)的状态字节,用于MIDI文件。 
             | 
| static int | SYSTEM_EXCLUSIVE
              系统独占消息(0xF0或240)的状态字节。 
             | 
data, length| Modifier | Constructor and Description | 
|---|---|
|   | SysexMessage()
              构建一个新的 
              SysexMessage。 | 
| protected  | SysexMessage(byte[] data)
              构建新的 
              SysexMessage。 | 
|   | SysexMessage(byte[] data, int length)
              构造一个新的 
              SysexMessage并设置消息的数据。 | 
|   | SysexMessage(int status, byte[] data, int length)
              构造一个新的 
              SysexMessage并设置消息的数据。 | 
| Modifier and Type | Method and Description | 
|---|---|
| Object | clone()
              创建与该对象相同的类和新内容相同的新对象。 
             | 
| byte[] | getData()
              获取系统专用消息的数据副本。 
             | 
| void | setMessage(byte[] data, int length)
              设置系统专用消息的数据。 
             | 
| void | setMessage(int status, byte[] data, int length)
              设置系统专用消息的数据。 
             | 
getLength, getMessage, getStatuspublic static final int SYSTEM_EXCLUSIVE
public static final int SPECIAL_SYSTEM_EXCLUSIVE
public SysexMessage()
SysexMessage 。 
           保证新消息的内容指定有效的MIDI消息。 
           随后,您可以使用setMessage方法之一来设置消息的内容。 
          setMessage(byte[], int) 
           public SysexMessage(byte[] data,
                    int length)
             throws InvalidMidiDataException 
          SysexMessage并设置消息的数据。 
           数据数组的第一个字节必须是有效的系统独占状态字节(0xF0或0xF7)。 
           消息的内容可以通过使用setMessage之一来更改。 
          data - 系统专用消息数据,包括状态字节 
           length - 数组中有效消息数据的长度,包括状态字节; 
            它应该是非负的,小于等于data.length 
           InvalidMidiDataException - 如果参数值未指定有效的MIDI元消息。 
           setMessage(byte[], int) , 
            setMessage(int, byte[], int) , 
            getData() 
           public SysexMessage(int status,
                    byte[] data,
                    int length)
             throws InvalidMidiDataException 
          SysexMessage并设置消息的数据。 
           可以使用setMessage方法之一来更改消息的内容。 
          status - 消息的状态字节; 
            它必须是一个有效的系统独占状态字节(0xF0或0xF7) 
           data - 系统独占消息数据(不含状态字节) 
           length - 数组中有效消息数据的长度; 
            它应该是非负的,小于等于data.length 
           InvalidMidiDataException - 如果参数值未指定有效的MIDI元消息。 
           setMessage(byte[], int) , 
            setMessage(int, byte[], int) , 
            getData() 
           protected SysexMessage(byte[] data)
SysexMessage 。 
          data - 包含完整消息的字节数组。 
            可以使用setMessage方法更改消息数据。 
           setMessage(byte[], int) 
           public void setMessage(byte[] data,
                       int length)
                throws InvalidMidiDataException 
          setMessage在类别 
            MidiMessage 
           data - 系统专用消息数据 
           length - 数组中有效消息数据的长度,包括状态字节。 
           InvalidMidiDataException - 如果参数值未指定有效的MIDI元消息 
           public void setMessage(int status,
                       byte[] data,
                       int length)
                throws InvalidMidiDataException 
          status - 消息的状态字节(0xF0或0xF7) 
           data - 系统专用消息数据 
           length - 数组中有效消息数据的长度 
           InvalidMidiDataException - 如果状态字节对于sysex消息无效 
           public byte[] getData()
public Object clone()
clone在类别 
            MidiMessage 
           Cloneable 
            Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.