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

666 lines
39 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="Interface Synthesizer">Interface Synthesizer</h2>
</div><div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
All Superinterfaces:
</dt>
<dd>
<span><a href="../../../java/lang/AutoCloseable.html" title="java.lang中的接口">AutoCloseable</a> <a href="../../../javax/sound/midi/MidiDevice.html" title="javax.sound.midi中的接口">MidiDevice</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public interface <span class="typeNameLabel">Synthesizer</span>
extends <a href="../../../javax/sound/midi/MidiDevice.html" title="interface in javax.sound.midi">MidiDevice</a></pre>
<div class="block">
<span>A <code>Synthesizer</code>产生声音。</span>
<span>当之一这通常发生<code>Synthesizer</code><a href="../../../javax/sound/midi/MidiChannel.html" title="javax.sound.midi中的接口"><code>MidiChannel</code></a>对象接收<a href="../../../javax/sound/midi/MidiChannel.html#noteOn-int-int-"><code>noteOn</code></a>消息,无论是直接或经由<code>Synthesizer</code>对象。</span>
<span>许多<code>Synthesizer</code>支持<code>Receivers</code> 通过它可以将MIDI事件传送到<code>Synthesizer</code></span>
<span>在这种情况下, <code>Synthesizer</code>典型地通过发送相应的消息到适当的响应<code>MidiChannel</code> 或通过处理事件本身如果事件不是MIDI信道消息中的一个。</span>
<p> <span><code>Synthesizer</code>界面包括从声音库装载和卸载乐器的方法。</span> <span>仪器是合成某种声音的规范,无论该声音是仿效传统乐器还是某种音效或其他虚构声音。</span> <span>声音库是由银行和节目编号(通过仪器的<code>Patch</code>对象)组织的<code>Patch</code>集合。</span> <span>不同的<code>Synthesizer</code>类可以实现不同的声音合成技术,这意味着一些乐器而不是其他乐器可能与给定的合成器兼容。</span> <span>此外,合成器可能对仪器具有有限的存储空间,这意味着即使合成技术是兼容的,并不是每个合成器都可以使用每个声音库和仪器。</span> <span>看是否从某个音库的仪器可以通过一个给定的合成器上播放,调用<a href="../../../javax/sound/midi/Synthesizer.html#isSoundbankSupported-javax.sound.midi.Soundbank-"><code>isSoundbankSupported</code></a>的方法<code>Synthesizer</code></span> </p>
<p> <span>“装载”仪器意味着该仪器可用于合成笔记。</span> <span>仪器被装载到由其<code>Patch</code>对象指定的存储区和程序位置。</span> <span>装载不一定意味着随后播放的音符将立即具有这个新装载的乐器的声音。</span> <span>要使乐器演奏音符,合成器的一个<code>MidiChannel</code>对象必须接收(或已收到)一个程序更改消息,导致该特定乐器的银行和节目号码被选中。</span> </p>
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../javax/sound/midi/MidiSystem.html#getSynthesizer--"><code>MidiSystem.getSynthesizer()</code></a> <a href="../../../javax/sound/midi/Soundbank.html" title="javax.sound.midi中的接口"><code>Soundbank</code></a> <a href="../../../javax/sound/midi/Instrument.html" title="javax.sound.midi中的类"><code>Instrument</code></a> <a href="../../../javax/sound/midi/MidiChannel.html#programChange-int-int-"><code>MidiChannel.programChange(int, int)</code></a> <a href="../../../javax/sound/midi/Receiver.html" title="javax.sound.midi中的接口"><code>Receiver</code></a> <a href="../../../javax/sound/midi/Transmitter.html" title="javax.sound.midi中的接口"><code>Transmitter</code></a> <a href="../../../javax/sound/midi/MidiDevice.html" title="javax.sound.midi中的接口"><code>MidiDevice</code></a></span>
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- --> </a> <h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.javax.sound.midi.MidiDevice">
<!-- --> </a> <h3>Nested classes/interfaces inherited from interface javax.sound.midi.<a href="../../../javax/sound/midi/MidiDevice.html" title="interface in javax.sound.midi">MidiDevice</a></h3> <code><a href="../../../javax/sound/midi/MidiDevice.Info.html" title="class in javax.sound.midi">MidiDevice.Info</a></code></li>
</ul> </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>
</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="../../../javax/sound/midi/Instrument.html" title="class in javax.sound.midi">Instrument</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/Synthesizer.html#getAvailableInstruments--">getAvailableInstruments</a></span>()</code>
<div class="block">
获取合成器随附的仪器列表。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="../../../javax/sound/midi/MidiChannel.html" title="interface in javax.sound.midi">MidiChannel</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/Synthesizer.html#getChannels--">getChannels</a></span>()</code>
<div class="block">
获得由该合成器控制的一组MIDI通道。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code><a href="../../../javax/sound/midi/Soundbank.html" title="interface in javax.sound.midi">Soundbank</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/Synthesizer.html#getDefaultSoundbank--">getDefaultSoundbank</a></span>()</code>
<div class="block">
获取合成器的默认声音库(如果存在)。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/Synthesizer.html#getLatency--">getLatency</a></span>()</code>
<div class="block">
获得该合成器产生的处理延迟,以微秒表示。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code><a href="../../../javax/sound/midi/Instrument.html" title="class in javax.sound.midi">Instrument</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/Synthesizer.html#getLoadedInstruments--">getLoadedInstruments</a></span>()</code>
<div class="block">
获取当前加载到此
<code>Synthesizer</code>
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/Synthesizer.html#getMaxPolyphony--">getMaxPolyphony</a></span>()</code>
<div class="block">
获取此合成器可以同时发声的最大音符数。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code><a href="../../../javax/sound/midi/VoiceStatus.html" title="class in javax.sound.midi">VoiceStatus</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/Synthesizer.html#getVoiceStatus--">getVoiceStatus</a></span>()</code>
<div class="block">
获取此合成器产生的声音的当前状态。
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/Synthesizer.html#isSoundbankSupported-javax.sound.midi.Soundbank-">isSoundbankSupported</a></span>(<a href="../../../javax/sound/midi/Soundbank.html" title="interface in javax.sound.midi">Soundbank</a> soundbank)</code>
<div class="block">
通知呼叫者该合成器是否能够从指定的声音库加载仪器。
</div> </td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/Synthesizer.html#loadAllInstruments-javax.sound.midi.Soundbank-">loadAllInstruments</a></span>(<a href="../../../javax/sound/midi/Soundbank.html" title="interface in javax.sound.midi">Soundbank</a> soundbank)</code>
<div class="block">
载入指定的
<code>Synthesizer</code>所有仪器
<code>Soundbank</code>
</div> </td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/Synthesizer.html#loadInstrument-javax.sound.midi.Instrument-">loadInstrument</a></span>(<a href="../../../javax/sound/midi/Instrument.html" title="class in javax.sound.midi">Instrument</a> instrument)</code>
<div class="block">
使特定的仪器可用于合成。
</div> </td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/Synthesizer.html#loadInstruments-javax.sound.midi.Soundbank-javax.sound.midi.Patch:A-">loadInstruments</a></span>(<a href="../../../javax/sound/midi/Soundbank.html" title="interface in javax.sound.midi">Soundbank</a> soundbank, <a href="../../../javax/sound/midi/Patch.html" title="class in javax.sound.midi">Patch</a>[] patchList)</code>
<div class="block">
从指定的Soundbank加载指定补丁引用的
<code>Soundbank</code>
</div> </td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/Synthesizer.html#remapInstrument-javax.sound.midi.Instrument-javax.sound.midi.Instrument-">remapInstrument</a></span>(<a href="../../../javax/sound/midi/Instrument.html" title="class in javax.sound.midi">Instrument</a> from, <a href="../../../javax/sound/midi/Instrument.html" title="class in javax.sound.midi">Instrument</a> to)</code>
<div class="block">
重新配置仪器。
</div> </td>
</tr>
<tr class="altColor" id="i12">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/Synthesizer.html#unloadAllInstruments-javax.sound.midi.Soundbank-">unloadAllInstruments</a></span>(<a href="../../../javax/sound/midi/Soundbank.html" title="interface in javax.sound.midi">Soundbank</a> soundbank)</code>
<div class="block">
卸载指定的Soundbank中包含的所有
<code>Soundbank</code>
</div> </td>
</tr>
<tr class="rowColor" id="i13">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/Synthesizer.html#unloadInstrument-javax.sound.midi.Instrument-">unloadInstrument</a></span>(<a href="../../../javax/sound/midi/Instrument.html" title="class in javax.sound.midi">Instrument</a> instrument)</code>
<div class="block">
卸载特定的仪器。
</div> </td>
</tr>
<tr class="altColor" id="i14">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/midi/Synthesizer.html#unloadInstruments-javax.sound.midi.Soundbank-javax.sound.midi.Patch:A-">unloadInstruments</a></span>(<a href="../../../javax/sound/midi/Soundbank.html" title="interface in javax.sound.midi">Soundbank</a> soundbank, <a href="../../../javax/sound/midi/Patch.html" title="class in javax.sound.midi">Patch</a>[] patchList)</code>
<div class="block">
从指定的MIDI声音库中卸载指定补丁引用的乐器。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.sound.midi.MidiDevice">
<!-- --> </a> <h3>Methods inherited from interface javax.sound.midi.<a href="../../../javax/sound/midi/MidiDevice.html" title="interface in javax.sound.midi">MidiDevice</a></h3> <code><a href="../../../javax/sound/midi/MidiDevice.html#close--">close</a>, <a href="../../../javax/sound/midi/MidiDevice.html#getDeviceInfo--">getDeviceInfo</a>, <a href="../../../javax/sound/midi/MidiDevice.html#getMaxReceivers--">getMaxReceivers</a>, <a href="../../../javax/sound/midi/MidiDevice.html#getMaxTransmitters--">getMaxTransmitters</a>, <a href="../../../javax/sound/midi/MidiDevice.html#getMicrosecondPosition--">getMicrosecondPosition</a>, <a href="../../../javax/sound/midi/MidiDevice.html#getReceiver--">getReceiver</a>, <a href="../../../javax/sound/midi/MidiDevice.html#getReceivers--">getReceivers</a>, <a href="../../../javax/sound/midi/MidiDevice.html#getTransmitter--">getTransmitter</a>, <a href="../../../javax/sound/midi/MidiDevice.html#getTransmitters--">getTransmitters</a>, <a href="../../../javax/sound/midi/MidiDevice.html#isOpen--">isOpen</a>, <a href="../../../javax/sound/midi/MidiDevice.html#open--">open</a></code></li>
</ul> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="getMaxPolyphony--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getMaxPolyphony</h4> <pre>int getMaxPolyphony()</pre>
<div class="block">
获取此合成器可以同时发声的最大音符数。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
同时记录的最大数量
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/midi/Synthesizer.html#getVoiceStatus--"><code>getVoiceStatus()</code></a>
</dd>
</dl> </li>
</ul> <a name="getLatency--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getLatency</h4> <pre>long getLatency()</pre>
<div class="block">
<span>获得该合成器产生的处理延迟,以微秒表示。</span>
<span>该延迟测量MIDI信号传送到合成器的时间与合成器实际产生相应结果的时间之间的最差时延。</span>
<p> <span>虽然延迟以微秒表示,但合成器的实际测量延迟可能会在该分辨率表示的范围内变化。</span> <span>例如,合成器可能具有几毫秒或更多的最坏情况延迟。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
最差的延迟,以微秒为单位
</dd>
</dl> </li>
</ul> <a name="getChannels--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getChannels</h4> <pre><a href="../../../javax/sound/midi/MidiChannel.html" title="interface in javax.sound.midi">MidiChannel</a>[] getChannels()</pre>
<div class="block">
<span>获得由该合成器控制的一组MIDI通道。</span>
<span>返回数组中的每个非空元素都是<code>MidiChannel</code> 它接收该通道号发送的MIDI消息。</span>
<p> <span>MIDI 1.0规范提供16个通道因此此方法返回至少16个元素的数组。</span> <span>但是如果该合成器没有使用所有16个通道则阵列的某些元素可能为<code>null</code> ,因此在使用之前应检查每个元素。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>所述的数组<code>MidiChannel</code>由该管理对象<code>Synthesizer</code></span>
<span>一些阵列元素可以是<code>null</code></span>
</dd>
</dl> </li>
</ul> <a name="getVoiceStatus--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getVoiceStatus</h4> <pre><a href="../../../javax/sound/midi/VoiceStatus.html" title="class in javax.sound.midi">VoiceStatus</a>[] getVoiceStatus()</pre>
<div class="block">
<span>获取此合成器产生的声音的当前状态。</span>
<span>如果这个<code>Synthesizer</code>类不提供语音信息则返回的数组将始终为长度0.否则,其长度总是等于<code>getMaxPolyphony()</code>返回的<code>getMaxPolyphony()</code></span>
<span>(有关合成器语音的说明,请参阅<code>VoiceStatus</code>类描述。)</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一组
<code>VoiceStatus</code>对象,提供有关相应合成器语音的信息
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../javax/sound/midi/Synthesizer.html#getMaxPolyphony--"><code>getMaxPolyphony()</code></a> <a href="../../../javax/sound/midi/VoiceStatus.html" title="javax.sound.midi中的类"><code>VoiceStatus</code></a></span>
</dd>
</dl> </li>
</ul> <a name="isSoundbankSupported-javax.sound.midi.Soundbank-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>isSoundbankSupported</h4> <pre>boolean isSoundbankSupported(<a href="../../../javax/sound/midi/Soundbank.html" title="interface in javax.sound.midi">Soundbank</a> soundbank)</pre>
<div class="block">
<span>通知呼叫者该合成器是否能够从指定的声音库加载仪器。</span>
<span>如果声音库不受支持,任何从其加载乐器的尝试将导致<code>IllegalArgumentException</code></span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>soundbank</code> - 查询支持的soundbank
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>true</code>如果声音支持,否则
<code>false</code>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/midi/Synthesizer.html#loadInstruments-javax.sound.midi.Soundbank-javax.sound.midi.Patch:A-"><code>loadInstruments(javax.sound.midi.Soundbank, javax.sound.midi.Patch[])</code></a>
<a href="../../../javax/sound/midi/Synthesizer.html#loadAllInstruments-javax.sound.midi.Soundbank-"><code>loadAllInstruments(javax.sound.midi.Soundbank)</code></a>
<a href="../../../javax/sound/midi/Synthesizer.html#unloadInstruments-javax.sound.midi.Soundbank-javax.sound.midi.Patch:A-"><code>unloadInstruments(javax.sound.midi.Soundbank, javax.sound.midi.Patch[])</code></a>
<a href="../../../javax/sound/midi/Synthesizer.html#unloadAllInstruments-javax.sound.midi.Soundbank-"><code>unloadAllInstruments(javax.sound.midi.Soundbank)</code></a>
<a href="../../../javax/sound/midi/Synthesizer.html#getDefaultSoundbank--"><code>getDefaultSoundbank()</code></a>
</dd>
</dl> </li>
</ul> <a name="loadInstrument-javax.sound.midi.Instrument-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>loadInstrument</h4> <pre>boolean loadInstrument(<a href="../../../javax/sound/midi/Instrument.html" title="class in javax.sound.midi">Instrument</a> instrument)</pre>
<div class="block">
<span>使特定的仪器可用于合成。</span>
<span>该仪器被装载到由其<code>Patch</code>对象指定的补丁位置,以便如果接收到(或已经被接收到)导致该补丁被选择的程序改变消息,则将使用<code>instrument</code>的声音来播放随后的音符。</span>
<span>如果指定的仪器已经加载,此方法不执行任何操作并返回<code>true</code></span>
<p> <span>仪器必须是<code>Synthesizer</code>支持的声音库的一部分。</span> <span>(要确保,你可以使用<code>getSoundbank</code>的方法<code>Instrument</code><code>isSoundbankSupported</code>的方法<code>Synthesizer</code> )。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>instrument</code> - 仪器加载
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>true</code>如果仪器已成功加载(或已经),
<code>false</code>如果仪器无法加载(例如,如果合成器没有足够的存储器加载)
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果这个
<code>Synthesizer</code>不支持指定乐器的声音库
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/midi/Synthesizer.html#unloadInstrument-javax.sound.midi.Instrument-"><code>unloadInstrument(javax.sound.midi.Instrument)</code></a>
<a href="../../../javax/sound/midi/Synthesizer.html#loadInstruments-javax.sound.midi.Soundbank-javax.sound.midi.Patch:A-"><code>loadInstruments(javax.sound.midi.Soundbank, javax.sound.midi.Patch[])</code></a>
<a href="../../../javax/sound/midi/Synthesizer.html#loadAllInstruments-javax.sound.midi.Soundbank-"><code>loadAllInstruments(javax.sound.midi.Soundbank)</code></a>
<a href="../../../javax/sound/midi/Synthesizer.html#remapInstrument-javax.sound.midi.Instrument-javax.sound.midi.Instrument-"><code>remapInstrument(javax.sound.midi.Instrument, javax.sound.midi.Instrument)</code></a>
<a href="../../../javax/sound/midi/SoundbankResource.html#getSoundbank--"><code>SoundbankResource.getSoundbank()</code></a>
<a href="../../../javax/sound/midi/MidiChannel.html#programChange-int-int-"><code>MidiChannel.programChange(int, int)</code></a>
</dd>
</dl> </li>
</ul> <a name="unloadInstrument-javax.sound.midi.Instrument-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>unloadInstrument</h4> <pre>void unloadInstrument(<a href="../../../javax/sound/midi/Instrument.html" title="class in javax.sound.midi">Instrument</a> instrument)</pre>
<div class="block">
卸载特定的仪器。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>instrument</code> - 仪器卸载
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果这个
<code>Synthesizer</code>不支持指定乐器的声音库
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/midi/Synthesizer.html#loadInstrument-javax.sound.midi.Instrument-"><code>loadInstrument(javax.sound.midi.Instrument)</code></a>
<a href="../../../javax/sound/midi/Synthesizer.html#unloadInstruments-javax.sound.midi.Soundbank-javax.sound.midi.Patch:A-"><code>unloadInstruments(javax.sound.midi.Soundbank, javax.sound.midi.Patch[])</code></a>
<a href="../../../javax/sound/midi/Synthesizer.html#unloadAllInstruments-javax.sound.midi.Soundbank-"><code>unloadAllInstruments(javax.sound.midi.Soundbank)</code></a>
<a href="../../../javax/sound/midi/Synthesizer.html#getLoadedInstruments--"><code>getLoadedInstruments()</code></a>
<a href="../../../javax/sound/midi/Synthesizer.html#remapInstrument-javax.sound.midi.Instrument-javax.sound.midi.Instrument-"><code>remapInstrument(javax.sound.midi.Instrument, javax.sound.midi.Instrument)</code></a>
</dd>
</dl> </li>
</ul> <a name="remapInstrument-javax.sound.midi.Instrument-javax.sound.midi.Instrument-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>remapInstrument</h4> <pre>boolean remapInstrument(<a href="../../../javax/sound/midi/Instrument.html" title="class in javax.sound.midi">Instrument</a> from,
<a href="../../../javax/sound/midi/Instrument.html" title="class in javax.sound.midi">Instrument</a> to)</pre>
<div class="block">
<span>重新配置仪器。</span>
<span>仪器<code>to</code>取代仪器<code>from</code></span>
<br/>
<span>例如,如果<code>from</code>位于银行编号2程序编号11重新映射会导致银行和程序位置占用代替<code>to</code></span>
<br/>
<span>如果功能成功,仪器<code>from</code>将被卸载。</span>
<p> <span>要取消重新映射重载仪器<code>from</code>通过调用之一<a href="../../../javax/sound/midi/Synthesizer.html#loadInstrument-javax.sound.midi.Instrument-"><code>loadInstrument(javax.sound.midi.Instrument)</code></a> <a href="../../../javax/sound/midi/Synthesizer.html#loadInstruments-javax.sound.midi.Soundbank-javax.sound.midi.Patch:A-"><code>loadInstruments(javax.sound.midi.Soundbank, javax.sound.midi.Patch[])</code></a><a href="../../../javax/sound/midi/Synthesizer.html#loadAllInstruments-javax.sound.midi.Soundbank-"><code>loadAllInstruments(javax.sound.midi.Soundbank)</code></a></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>from</code> - 要替换的
<code>Instrument</code>对象
</dd>
<dd>
<code>to</code> -
<code>Instrument</code>对象要用于代替旧仪器,应该加载到合成器
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>true</code>如果仪器成功重新映射,
<code>false</code>如果功能未由合成器实现
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果仪器
<code>from</code>或仪器
<code>to</code>不被合成器支持,或者仪器
<code>to</code>未加载
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>from</code>
<code>to</code>参数具有空值
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/midi/Synthesizer.html#loadInstrument-javax.sound.midi.Instrument-"><code>loadInstrument(javax.sound.midi.Instrument)</code></a>
<a href="../../../javax/sound/midi/Synthesizer.html#loadInstruments-javax.sound.midi.Soundbank-javax.sound.midi.Patch:A-"><code>loadInstruments(javax.sound.midi.Soundbank, javax.sound.midi.Patch[])</code></a>
<a href="../../../javax/sound/midi/Synthesizer.html#loadAllInstruments-javax.sound.midi.Soundbank-"><code>loadAllInstruments(javax.sound.midi.Soundbank)</code></a>
</dd>
</dl> </li>
</ul> <a name="getDefaultSoundbank--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getDefaultSoundbank</h4> <pre><a href="../../../javax/sound/midi/Soundbank.html" title="interface in javax.sound.midi">Soundbank</a> getDefaultSoundbank()</pre>
<div class="block">
<span>获取合成器的默认声音库(如果存在)。</span>
<span>(一些合成器提供默认或内置声音库。)如果合成器没有默认声音库,仪器必须明确地从外部声音库中加载。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
默认soundbank
<code>null</code>如果不存在。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/midi/Synthesizer.html#isSoundbankSupported-javax.sound.midi.Soundbank-"><code>isSoundbankSupported(javax.sound.midi.Soundbank)</code></a>
</dd>
</dl> </li>
</ul> <a name="getAvailableInstruments--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getAvailableInstruments</h4> <pre><a href="../../../javax/sound/midi/Instrument.html" title="class in javax.sound.midi">Instrument</a>[] getAvailableInstruments()</pre>
<div class="block">
<span>获取合成器随附的仪器列表。</span>
<span>这些乐器可能内置在合成器中,或者它们可能是合成器等提供的默认声音库的一部分。</span>
<p> <span>请注意,您不要使用此方法找出当前加载到合成器上的仪器;</span> <span>为此,您使用<code>getLoadedInstruments()</code></span> <span>该方法也不会指示可以加载到合成器上的所有仪器;</span> <span>它只表示合成器附带的子集。</span> <span>要了解是否可以加载另一台仪器,您可以调用<code>isSoundbankSupported()</code> ,如果仪器的<code>Soundbank</code>支持,您可以尝试加载仪器。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>可用仪器清单。</span>
<span>如果合成器没有仪器则返回长度为0的数组。</span>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/midi/Synthesizer.html#getLoadedInstruments--"><code>getLoadedInstruments()</code></a>
<a href="../../../javax/sound/midi/Synthesizer.html#isSoundbankSupported-javax.sound.midi.Soundbank-"><code>isSoundbankSupported(Soundbank)</code></a>
<a href="../../../javax/sound/midi/Synthesizer.html#loadInstrument-javax.sound.midi.Instrument-"><code>loadInstrument(javax.sound.midi.Instrument)</code></a>
</dd>
</dl> </li>
</ul> <a name="getLoadedInstruments--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getLoadedInstruments</h4> <pre><a href="../../../javax/sound/midi/Instrument.html" title="class in javax.sound.midi">Instrument</a>[] getLoadedInstruments()</pre>
<div class="block">
获取当前加载到此
<code>Synthesizer</code>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
当前加载的乐器的列表
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/midi/Synthesizer.html#loadInstrument-javax.sound.midi.Instrument-"><code>loadInstrument(javax.sound.midi.Instrument)</code></a>
<a href="../../../javax/sound/midi/Synthesizer.html#getAvailableInstruments--"><code>getAvailableInstruments()</code></a>
<a href="../../../javax/sound/midi/Soundbank.html#getInstruments--"><code>Soundbank.getInstruments()</code></a>
</dd>
</dl> </li>
</ul> <a name="loadAllInstruments-javax.sound.midi.Soundbank-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>loadAllInstruments</h4> <pre>boolean loadAllInstruments(<a href="../../../javax/sound/midi/Soundbank.html" title="interface in javax.sound.midi">Soundbank</a> soundbank)</pre>
<div class="block">
载入到指定的
<code>Synthesizer</code>所有仪器
<code>Soundbank</code>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>soundbank</code> -在
<code>Soundbank</code>是谁的仪器要装载
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>true</code>如果仪器都已成功加载(或已经过),
<code>false</code>如果任何乐器无法加载(例如,如果
<code>Synthesizer</code>了内存不足)
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果请求的声音库与此合成器不兼容。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/midi/Synthesizer.html#isSoundbankSupported-javax.sound.midi.Soundbank-"><code>isSoundbankSupported(javax.sound.midi.Soundbank)</code></a>
<a href="../../../javax/sound/midi/Synthesizer.html#loadInstrument-javax.sound.midi.Instrument-"><code>loadInstrument(javax.sound.midi.Instrument)</code></a>
<a href="../../../javax/sound/midi/Synthesizer.html#loadInstruments-javax.sound.midi.Soundbank-javax.sound.midi.Patch:A-"><code>loadInstruments(javax.sound.midi.Soundbank, javax.sound.midi.Patch[])</code></a>
</dd>
</dl> </li>
</ul> <a name="unloadAllInstruments-javax.sound.midi.Soundbank-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>unloadAllInstruments</h4> <pre>void unloadAllInstruments(<a href="../../../javax/sound/midi/Soundbank.html" title="interface in javax.sound.midi">Soundbank</a> soundbank)</pre>
<div class="block">
卸载指定的Soundbank中包含的所有
<code>Soundbank</code>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>soundbank</code> - 声音包含仪器卸载
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果不支持
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> ,则抛出。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/midi/Synthesizer.html#isSoundbankSupported-javax.sound.midi.Soundbank-"><code>isSoundbankSupported(javax.sound.midi.Soundbank)</code></a>
<a href="../../../javax/sound/midi/Synthesizer.html#unloadInstrument-javax.sound.midi.Instrument-"><code>unloadInstrument(javax.sound.midi.Instrument)</code></a>
<a href="../../../javax/sound/midi/Synthesizer.html#unloadInstruments-javax.sound.midi.Soundbank-javax.sound.midi.Patch:A-"><code>unloadInstruments(javax.sound.midi.Soundbank, javax.sound.midi.Patch[])</code></a>
</dd>
</dl> </li>
</ul> <a name="loadInstruments-javax.sound.midi.Soundbank-javax.sound.midi.Patch:A-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>loadInstruments</h4> <pre>boolean loadInstruments(<a href="../../../javax/sound/midi/Soundbank.html" title="interface in javax.sound.midi">Soundbank</a> soundbank,
<a href="../../../javax/sound/midi/Patch.html" title="class in javax.sound.midi">Patch</a>[] patchList)</pre>
<div class="block">
<span>从指定的Soundbank加载指定补丁引用的<code>Soundbank</code></span>
<span><code>Patch</code>对象中的每一个都表示银行和程序号码;</span>
<span><code>Instrument</code>具有匹配<code>Patch</code>被加载到库和程序位置。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>soundbank</code> -所述
<code>Soundbank</code>含有文书加载
</dd>
<dd>
<code>patchList</code> - 应装载仪器的补丁列表
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>true</code>如果仪器都已成功加载(或已经过),
<code>false</code>如果任何乐器无法加载(例如,如果
<code>Synthesizer</code>了内存不足)
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果不支持
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> ,则抛出。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/midi/Synthesizer.html#isSoundbankSupported-javax.sound.midi.Soundbank-"><code>isSoundbankSupported(javax.sound.midi.Soundbank)</code></a>
<a href="../../../javax/sound/midi/Instrument.html#getPatch--"><code>Instrument.getPatch()</code></a>
<a href="../../../javax/sound/midi/Synthesizer.html#loadAllInstruments-javax.sound.midi.Soundbank-"><code>loadAllInstruments(javax.sound.midi.Soundbank)</code></a>
<a href="../../../javax/sound/midi/Synthesizer.html#loadInstrument-javax.sound.midi.Instrument-"><code>loadInstrument(javax.sound.midi.Instrument)</code></a>
<a href="../../../javax/sound/midi/Soundbank.html#getInstrument-javax.sound.midi.Patch-"><code>Soundbank.getInstrument(Patch)</code></a>
<a href="../../../javax/sound/midi/Sequence.html#getPatchList--"><code>Sequence.getPatchList()</code></a>
</dd>
</dl> </li>
</ul> <a name="unloadInstruments-javax.sound.midi.Soundbank-javax.sound.midi.Patch:A-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>unloadInstruments</h4> <pre>void unloadInstruments(<a href="../../../javax/sound/midi/Soundbank.html" title="interface in javax.sound.midi">Soundbank</a> soundbank,
<a href="../../../javax/sound/midi/Patch.html" title="class in javax.sound.midi">Patch</a>[] patchList)</pre>
<div class="block">
从指定的MIDI声音库中卸载指定补丁引用的乐器。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>soundbank</code> - 声音包含仪器卸载
</dd>
<dd>
<code>patchList</code> - 应卸载仪器的补丁列表
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果不支持
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> ,则抛出。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/midi/Synthesizer.html#unloadInstrument-javax.sound.midi.Instrument-"><code>unloadInstrument(javax.sound.midi.Instrument)</code></a>
<a href="../../../javax/sound/midi/Synthesizer.html#unloadAllInstruments-javax.sound.midi.Soundbank-"><code>unloadAllInstruments(javax.sound.midi.Soundbank)</code></a>
<a href="../../../javax/sound/midi/Synthesizer.html#isSoundbankSupported-javax.sound.midi.Soundbank-"><code>isSoundbankSupported(javax.sound.midi.Soundbank)</code></a>
<a href="../../../javax/sound/midi/Instrument.html#getPatch--"><code>Instrument.getPatch()</code></a>
<a href="../../../javax/sound/midi/Synthesizer.html#loadInstruments-javax.sound.midi.Soundbank-javax.sound.midi.Patch:A-"><code>loadInstruments(javax.sound.midi.Soundbank, javax.sound.midi.Patch[])</code></a>
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>