mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-07-05 16:22:43 +08:00
367 lines
16 KiB
HTML
367 lines
16 KiB
HTML
<div class="header">
|
||
<div class="subTitle">
|
||
javax.sound.midi
|
||
</div>
|
||
<h2 class="title" title="Class MidiMessage">Class MidiMessage</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>javax.sound.midi.MidiMessage</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>
|
||
<dl>
|
||
<dt>
|
||
已知直接子类:
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../javax/sound/midi/MetaMessage.html" title="javax.sound.midi中的类">MetaMessage</a> , <a href="../../../javax/sound/midi/ShortMessage.html" title="javax.sound.midi中的类">ShortMessage</a> , <a href="../../../javax/sound/midi/SysexMessage.html" title="javax.sound.midi中的类">SysexMessage</a></span>
|
||
</dd>
|
||
</dl>
|
||
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">MidiMessage</span>
|
||
extends <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a>
|
||
implements <a href="../../../java/lang/Cloneable.html" title="interface in java.lang">Cloneable</a></pre>
|
||
<div class="block">
|
||
<span><code>MidiMessage</code>是MIDI消息的基类。</span>
|
||
<span>它们不仅包括合成器可以响应的标准MIDI消息,还包括可以由音序器程序使用的“元事件”。</span>
|
||
<span>有诸如歌词,版权,速度指示,时间和关键签名,标记等信息的元事件。有关更多信息,请参阅标准MIDI文件1.0规范,它是完整MIDI 1.0详细规范的一部分,由MIDI制造商协会( <a href="http://www.midi.org">http://www.midi.org</a> )。</span>
|
||
<p> <span>基础<code>MidiMessage</code>课程提供对MIDI消息的三种类型的信息的访问:</span> </p>
|
||
<ul>
|
||
<li> <span>消息的状态字节</span> </li>
|
||
<li> <span>消息的总长度(以字节为单位)(状态字节加上任何数据字节)</span> </li>
|
||
<li> <span>包含完整消息的字节数组</span> </li>
|
||
</ul>
|
||
<span><code>MidiMessage</code>包括获取但不设置这些值的方法。</span>
|
||
<span>设置它们是一个子类责任。</span>
|
||
<p> <span><a name="integersVsBytes"></a> MIDI标准以字节表示MIDI数据。</span> <span>但是,由于Java <sup>TM</sup>使用带符号字节,因此Java Sound API在表达MIDI数据时使用整数而不是字节。</span> <span>例如, <a href="../../../javax/sound/midi/MidiMessage.html#getStatus--"><code>getStatus()</code></a>的方法<code>MidiMessage</code>返回MIDI状态字节为整数。</span> <span>如果您正在处理源自Java Sound之外的MIDI数据,现在将其编码为带符号字节,则可以使用此转换将字节转换为整数:</span> </p>
|
||
<center>
|
||
<code>int i = (int)(byte & 0xFF)</code>
|
||
</center>
|
||
<p> <span>如果只需要传递已知的MIDI字节值作为方法参数,则可以使用(例如)十进制或十六进制符号直接表示为整数。</span> <span>例如,要将“主动感测”状态字节作为第一个参数传递给ShortMessage的<a href="../../../javax/sound/midi/ShortMessage.html#setMessage-int-"><code>setMessage(int)</code></a>方法,可以将其表示为254或0xFE。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../javax/sound/midi/Track.html" title="javax.sound.midi中的类"><code>Track</code></a> , <a href="../../../javax/sound/midi/Sequence.html" title="javax.sound.midi中的类"><code>Sequence</code></a> , <a href="../../../javax/sound/midi/Receiver.html" title="javax.sound.midi中的接口"><code>Receiver</code></a></span>
|
||
</dd>
|
||
</dl> </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>protected byte[]</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/MidiMessage.html#data">data</a></span></code>
|
||
<div class="block">
|
||
MIDI信息数据。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><code>protected int</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/MidiMessage.html#length">length</a></span></code>
|
||
<div class="block">
|
||
MIDI消息中的字节数,包括状态字节和任何数据字节。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table> </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>protected </code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/MidiMessage.html#MidiMessage-byte:A-">MidiMessage</a></span>(byte[] data)</code>
|
||
<div class="block">
|
||
构建一个新的
|
||
<code>MidiMessage</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="t3"><span><a href="javascript:show(4);">抽象方法</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>abstract <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/MidiMessage.html#clone--">clone</a></span>()</code>
|
||
<div class="block">
|
||
创建与该对象相同的类和新内容相同的新对象。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i1">
|
||
<td class="colFirst"><code>int</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/MidiMessage.html#getLength--">getLength</a></span>()</code>
|
||
<div class="block">
|
||
以字节获得MIDI消息的总长度。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i2">
|
||
<td class="colFirst"><code>byte[]</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/MidiMessage.html#getMessage--">getMessage</a></span>()</code>
|
||
<div class="block">
|
||
获取MIDI消息数据。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i3">
|
||
<td class="colFirst"><code>int</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/MidiMessage.html#getStatus--">getStatus</a></span>()</code>
|
||
<div class="block">
|
||
获取MIDI消息的状态字节。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i4">
|
||
<td class="colFirst"><code>protected void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/MidiMessage.html#setMessage-byte:A-int-">setMessage</a></span>(byte[] data, int length)</code>
|
||
<div class="block">
|
||
设置MIDI信息的数据。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<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="data">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>data</h4> <pre>protected byte[] data</pre>
|
||
<div class="block">
|
||
<span>MIDI信息数据。</span>
|
||
<span>第一个字节是消息的状态字节;</span>
|
||
<span>直到消息长度的后续字节是此消息的数据字节。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../javax/sound/midi/MidiMessage.html#getLength--"><code>getLength()</code></a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="length">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>length</h4> <pre>protected int length</pre>
|
||
<div class="block">
|
||
MIDI消息中的字节数,包括状态字节和任何数据字节。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../javax/sound/midi/MidiMessage.html#getLength--"><code>getLength()</code></a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="constructor.detail">
|
||
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="MidiMessage-byte:A-">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>MidiMessage</h4> <pre>protected MidiMessage(byte[] data)</pre>
|
||
<div class="block">
|
||
<span>构造一个新的<code>MidiMessage</code> 。</span>
|
||
<span>这个受保护的构造函数由具体的子类调用,它应该确保数据数组指定一个完整的有效的MIDI消息。</span>
|
||
</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/MidiMessage.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>protected 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>设置MIDI信息的数据。</span>
|
||
<span>该受保护的方法由具体的子类调用,它应该确保数据数组指定一个完整有效的MIDI消息。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>data</code> - MIDI信息中的数据字节
|
||
</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="getMessage--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getMessage</h4> <pre>public byte[] getMessage()</pre>
|
||
<div class="block">
|
||
<span>获取MIDI消息数据。</span>
|
||
<span>返回的字节数组的第一个字节是消息的状态字节。</span>
|
||
<span>直到消息长度的任何后续字节是数据字节。</span>
|
||
<span>字节数组的长度可以大于实际消息的长度;</span>
|
||
<span>消息的总长度(以字节为单位)由<code><a href="../../../javax/sound/midi/MidiMessage.html#getLength--"><code>getLength()</code></a></code>方法报告。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
该字节数组包含完整的
|
||
<code>MidiMessage</code>数据
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getStatus--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getStatus</h4> <pre>public int getStatus()</pre>
|
||
<div class="block">
|
||
<span>获取MIDI消息的状态字节。</span>
|
||
<span>状态“byte”表示为整数;</span>
|
||
<span>参见<a href="#integersVsBytes">discussion</a>中的<code>MidiMessage</code>类描述。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
该事件的状态字节的整数表示
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getLength--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getLength</h4> <pre>public int getLength()</pre>
|
||
<div class="block">
|
||
<span>以字节获得MIDI消息的总长度。</span>
|
||
<span>MIDI消息由一个状态字节和零个或多个数据字节组成。</span>
|
||
<span>返回值的范围从系统实时消息的1到信道消息的2或3,到元和系统独占消息的任何值。</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 abstract <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> clone()</pre>
|
||
<div class="block">
|
||
创建与该对象相同的类和新内容相同的新对象。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="overrideSpecifyLabel">重写:</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/lang/Object.html#clone--">clone</a></code>在类别
|
||
<code><a href="../../../java/lang/Object.html" title="class in java.lang">Object</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> |