uTools-Manuals/docs/java/javax/sound/midi/SysexMessage.html

486 lines
21 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
javax.sound.midi
</div>
<h2 class="title" title="Class SysexMessage">Class SysexMessage</h2>
</div><div class="contentContainer">
<ul class="inheritance">
<li><a href="../../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../javax/sound/midi/MidiMessage.html" title="class in javax.sound.midi">javax.sound.midi.MidiMessage</a></li>
<li>
<ul class="inheritance">
<li>javax.sound.midi.SysexMessage</li>
</ul> </li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
All Implemented Interfaces:
</dt>
<dd>
<span><a href="../../../java/lang/Cloneable.html" title="java.lang中的接口">Cloneable</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public class <span class="typeNameLabel">SysexMessage</span>
extends <a href="../../../javax/sound/midi/MidiMessage.html" title="class in javax.sound.midi">MidiMessage</a></pre>
<div class="block">
<span>一个<code>SysexMessage</code>对象表示一个MIDI系统独占消息。</span>
<p> <span>当从MIDI文件读取系统独占消息时它总是具有一个定义的长度。</span> <span>来自MIDI文件的系统专用消息的数据应存储在<code>SysexMessage</code>的数据阵列中如下所示系统专用消息状态字节0xF0或0xF7所有消息数据字节最后是排他结束标志 0xF7</span> <span>因此, <code>SysexMessage</code>对象报告的长度是系统专用数据的长度加上两个:一个字节的状态字节,一个字节用于排除结束标志。</span> </p>
<p> <span>作为决定由标准MIDI文件规范两个状态字节值是合法的<code>SysexMessage</code>从MIDI文件读取</span> </p>
<ul>
<li> <span>0xF0系统独占消息与MIDI线路协议相同</span> </li>
<li> <span>0xF7特殊系统独占消息</span> </li>
</ul>
<p> <span>当Java Sound用于处理使用MIDI线路协议接收的系统专用数据时应将数据放在一个或多个<code>SysexMessages</code></span> <span>在这种情况下,系统专用数据的长度不是预先知道的;</span> <span>系统独占数据的结尾由MIDI线字节流中的独占结束标志0xF7标记。</span> </p>
<ul>
<li> <span>0xF0系统独占消息与MIDI线路协议相同</span> </li>
<li> <span>0xF7独占结束EOX</span> </li>
</ul>
<span>包含特定系统独占消息的数据的第一个<code>SysexMessage</code>对象应该具有状态值0xF0。</span>
<span>如果该消息包含消息的所有系统独占数据则应以状态字节0xF7EOX结束。</span>
<span>否则额外的系统专用数据应该在状态值为0xF7的一个或多个<code>SysexMessages</code>发送。</span>
<span>所述<code>SysexMessage</code>包含最后系统独占消息应用值0xF7EOX结束数据的以标记系统独占消息的结束。</span>
<p> <span>如果使用MIDI线路协议传输来自<code>SysexMessages</code>对象的系统专用数据,则<code>SysexMessages</code>初始0xF0状态字节系统独占数据本身以及最终的0xF7EOX字节;</span> <span>用于指示包含持续系统专用数据的<code>SysexMessage</code>任何0xF7状态字节不应通过MIDI线路协议传播。</span> </p>
</div> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- --> </a> <h3>Field Summary</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Field Summary table, listing fields, and an explanation">
<caption>
<span>Fields</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/SysexMessage.html#SPECIAL_SYSTEM_EXCLUSIVE">SPECIAL_SYSTEM_EXCLUSIVE</a></span></code>
<div class="block">
特殊系统专用消息0xF7或247的状态字节用于MIDI文件。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/SysexMessage.html#SYSTEM_EXCLUSIVE">SYSTEM_EXCLUSIVE</a></span></code>
<div class="block">
系统独占消息0xF0或240的状态字节。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.javax.sound.midi.MidiMessage">
<!-- --> </a> <h3>Fields inherited from class javax.sound.midi.<a href="../../../javax/sound/midi/MidiMessage.html" title="class in javax.sound.midi">MidiMessage</a></h3> <code><a href="../../../javax/sound/midi/MidiMessage.html#data">data</a>, <a href="../../../javax/sound/midi/MidiMessage.html#length">length</a></code></li>
</ul> </li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- --> </a> <h3>构造方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
<caption>
<span>构造方法</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code> </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/SysexMessage.html#SysexMessage--">SysexMessage</a></span>()</code>
<div class="block">
构建一个新的
<code>SysexMessage</code>
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/SysexMessage.html#SysexMessage-byte:A-">SysexMessage</a></span>(byte[] data)</code>
<div class="block">
构建新的
<code>SysexMessage</code>
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code> </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/SysexMessage.html#SysexMessage-byte:A-int-">SysexMessage</a></span>(byte[] data, int length)</code>
<div class="block">
构造一个新的
<code>SysexMessage</code>并设置消息的数据。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code> </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/SysexMessage.html#SysexMessage-int-byte:A-int-">SysexMessage</a></span>(int status, byte[] data, int length)</code>
<div class="block">
构造一个新的
<code>SysexMessage</code>并设置消息的数据。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- --> </a> <h3>方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
<caption>
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t4"><span><a href="javascript:show(8);">具体的方法</a></span><span class="tabEnd"> </span></span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor" id="i0">
<td class="colFirst"><code><a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/SysexMessage.html#clone--">clone</a></span>()</code>
<div class="block">
创建与该对象相同的类和新内容相同的新对象。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/SysexMessage.html#getData--">getData</a></span>()</code>
<div class="block">
获取系统专用消息的数据副本。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/SysexMessage.html#setMessage-byte:A-int-">setMessage</a></span>(byte[] data, int length)</code>
<div class="block">
设置系统专用消息的数据。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/SysexMessage.html#setMessage-int-byte:A-int-">setMessage</a></span>(int status, byte[] data, int length)</code>
<div class="block">
设置系统专用消息的数据。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.sound.midi.MidiMessage">
<!-- --> </a> <h3>Methods inherited from class javax.sound.midi.<a href="../../../javax/sound/midi/MidiMessage.html" title="class in javax.sound.midi">MidiMessage</a></h3> <code><a href="../../../javax/sound/midi/MidiMessage.html#getLength--">getLength</a>, <a href="../../../javax/sound/midi/MidiMessage.html#getMessage--">getMessage</a>, <a href="../../../javax/sound/midi/MidiMessage.html#getStatus--">getStatus</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../../java/lang/Object.html#notify--">notify</a>, <a href="../../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../../java/lang/Object.html#toString--">toString</a>, <a href="../../../java/lang/Object.html#wait--">wait</a>, <a href="../../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
</ul> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- --> </a> <h3>字段详细信息</h3> <a name="SYSTEM_EXCLUSIVE">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>SYSTEM_EXCLUSIVE</h4> <pre>public static final int SYSTEM_EXCLUSIVE</pre>
<div class="block">
系统独占消息0xF0或240的状态字节。
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/midi/MidiMessage.html#getStatus--"><code>MidiMessage.getStatus()</code></a>
<a href="../../../constant-values.html#javax.sound.midi.SysexMessage.SYSTEM_EXCLUSIVE">Constant Field Values</a>
</dd>
</dl> </li>
</ul> <a name="SPECIAL_SYSTEM_EXCLUSIVE">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>SPECIAL_SYSTEM_EXCLUSIVE</h4> <pre>public static final int SPECIAL_SYSTEM_EXCLUSIVE</pre>
<div class="block">
<span>特殊系统专用消息0xF7或247的状态字节用于MIDI文件。</span>
<span>它具有与用于实时“MIDI线”协议的END_OF_EXCLUSIVE相同的值。</span>
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/midi/MidiMessage.html#getStatus--"><code>MidiMessage.getStatus()</code></a>
<a href="../../../constant-values.html#javax.sound.midi.SysexMessage.SPECIAL_SYSTEM_EXCLUSIVE">Constant Field Values</a>
</dd>
</dl> </li>
</ul> </li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="SysexMessage--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>SysexMessage</h4> <pre>public SysexMessage()</pre>
<div class="block">
<span>构建一个新的<code>SysexMessage</code></span>
<span>保证新消息的内容指定有效的MIDI消息。</span>
<span>随后,您可以使用<code>setMessage</code>方法之一来设置消息的内容。</span>
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/midi/SysexMessage.html#setMessage-byte:A-int-"><code>setMessage(byte[], int)</code></a>
</dd>
</dl> </li>
</ul> <a name="SysexMessage-byte:A-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>SysexMessage</h4> <pre>public SysexMessage(byte[] data,
int length)
throws <a href="../../../javax/sound/midi/InvalidMidiDataException.html" title="class in javax.sound.midi">InvalidMidiDataException</a></pre>
<div class="block">
<span>构造一个新的<code>SysexMessage</code>并设置消息的数据。</span>
<span>数据数组的第一个字节必须是有效的系统独占状态字节0xF0或0xF7</span>
<span>消息的内容可以通过使用<code>setMessage</code>之一来更改。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>data</code> - 系统专用消息数据,包括状态字节
</dd>
<dd>
<span><code>length</code> - 数组中有效消息数据的长度,包括状态字节;</span>
<span>它应该是非负的,小于等于<code>data.length</code></span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/sound/midi/InvalidMidiDataException.html" title="class in javax.sound.midi">InvalidMidiDataException</a></code> - 如果参数值未指定有效的MIDI元消息。
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.7
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/midi/SysexMessage.html#setMessage-byte:A-int-"><code>setMessage(byte[], int)</code></a>
<a href="../../../javax/sound/midi/SysexMessage.html#setMessage-int-byte:A-int-"><code>setMessage(int, byte[], int)</code></a>
<a href="../../../javax/sound/midi/SysexMessage.html#getData--"><code>getData()</code></a>
</dd>
</dl> </li>
</ul> <a name="SysexMessage-int-byte:A-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>SysexMessage</h4> <pre>public SysexMessage(int status,
byte[] data,
int length)
throws <a href="../../../javax/sound/midi/InvalidMidiDataException.html" title="class in javax.sound.midi">InvalidMidiDataException</a></pre>
<div class="block">
<span>构造新的<code>SysexMessage</code>并设置消息的数据。</span>
<span>可以使用<code>setMessage</code>方法之一来更改消息的内容。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>status</code> - 消息的状态字节;</span>
<span>它必须是一个有效的系统独占状态字节0xF0或0xF7</span>
</dd>
<dd>
<code>data</code> - 系统独占消息数据(不含状态字节)
</dd>
<dd>
<span><code>length</code> - 数组中有效消息数据的长度;</span>
<span>它应该是非负的,小于等于<code>data.length</code></span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/sound/midi/InvalidMidiDataException.html" title="class in javax.sound.midi">InvalidMidiDataException</a></code> - 如果参数值未指定有效的MIDI元消息。
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.7
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/midi/SysexMessage.html#setMessage-byte:A-int-"><code>setMessage(byte[], int)</code></a>
<a href="../../../javax/sound/midi/SysexMessage.html#setMessage-int-byte:A-int-"><code>setMessage(int, byte[], int)</code></a>
<a href="../../../javax/sound/midi/SysexMessage.html#getData--"><code>getData()</code></a>
</dd>
</dl> </li>
</ul> <a name="SysexMessage-byte:A-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>SysexMessage</h4> <pre>protected SysexMessage(byte[] data)</pre>
<div class="block">
构建新的
<code>SysexMessage</code>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>data</code> - 包含完整消息的字节数组。</span>
<span>可以使用<code>setMessage</code>方法更改消息数据。</span>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/midi/SysexMessage.html#setMessage-byte:A-int-"><code>setMessage(byte[], int)</code></a>
</dd>
</dl> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="setMessage-byte:A-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setMessage</h4> <pre>public void setMessage(byte[] data,
int length)
throws <a href="../../../javax/sound/midi/InvalidMidiDataException.html" title="class in javax.sound.midi">InvalidMidiDataException</a></pre>
<div class="block">
<span>设置系统专用消息的数据。</span>
<span>数据数组的第一个字节必须是有效的系统独占状态字节0xF0或0xF7</span>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">重写:</span>
</dt>
<dd>
<code><a href="../../../javax/sound/midi/MidiMessage.html#setMessage-byte:A-int-">setMessage</a></code>在类别
<code><a href="../../../javax/sound/midi/MidiMessage.html" title="class in javax.sound.midi">MidiMessage</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>data</code> - 系统专用消息数据
</dd>
<dd>
<code>length</code> - 数组中有效消息数据的长度,包括状态字节。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/sound/midi/InvalidMidiDataException.html" title="class in javax.sound.midi">InvalidMidiDataException</a></code> - 如果参数值未指定有效的MIDI元消息
</dd>
</dl> </li>
</ul> <a name="setMessage-int-byte:A-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setMessage</h4> <pre>public void setMessage(int status,
byte[] data,
int length)
throws <a href="../../../javax/sound/midi/InvalidMidiDataException.html" title="class in javax.sound.midi">InvalidMidiDataException</a></pre>
<div class="block">
设置系统专用消息的数据。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>status</code> - 消息的状态字节0xF0或0xF7
</dd>
<dd>
<code>data</code> - 系统专用消息数据
</dd>
<dd>
<code>length</code> - 数组中有效消息数据的长度
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/sound/midi/InvalidMidiDataException.html" title="class in javax.sound.midi">InvalidMidiDataException</a></code> - 如果状态字节对于sysex消息无效
</dd>
</dl> </li>
</ul> <a name="getData--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getData</h4> <pre>public byte[] getData()</pre>
<div class="block">
<span>获取系统专用消息的数据副本。</span>
<span>返回的字节数组不包括状态字节。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
数组包含系统专用消息数据。
</dd>
</dl> </li>
</ul> <a name="clone--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>clone</h4> <pre>public <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> clone()</pre>
<div class="block">
创建与该对象相同的类和新内容相同的新对象。
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/sound/midi/MidiMessage.html#clone--">clone</a></code>在类别
<code><a href="../../../javax/sound/midi/MidiMessage.html" title="class in javax.sound.midi">MidiMessage</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
这个实例的一个克隆
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../java/lang/Cloneable.html" title="java.lang中的接口"><code>Cloneable</code></a></span>
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>