|
Préférences
Moteurs de recherche
|
||||||||||||||||||||||||||||||||||||||
JavaTM 2 Platform Std. Ed. v1.4.2
javax.sound.midi
|
Nested Class Summary |
Nested classes inherited from class javax.sound.midi.MidiDevice |
MidiDevice.Info |
Method Summary | |
Instrument[] |
getAvailableInstruments()
Obtains a list of instruments that come with the synthesizer. |
MidiChannel[] |
getChannels()
Obtains the set of MIDI channels controlled by this synthesizer. |
Soundbank |
getDefaultSoundbank()
Obtains the default soundbank for the synthesizer, if one exists. |
long |
getLatency()
Obtains the processing latency incurred by this synthesizer, expressed in microseconds. |
Instrument[] |
getLoadedInstruments()
Obtains a list of the instruments that are currently loaded onto this Synthesizer . |
int |
getMaxPolyphony()
Obtains the maximum number of notes that this synthesizer can sound simultaneously. |
VoiceStatus[] |
getVoiceStatus()
Obtains the current status of the voices produced by this synthesizer. |
boolean |
isSoundbankSupported(Soundbank soundbank)
Informs the caller whether this synthesizer is capable of loading instruments from the specified soundbank. |
boolean |
loadAllInstruments(Soundbank soundbank)
Loads onto the Synthesizer all instruments contained
in the specified Soundbank . |
boolean |
loadInstrument(Instrument instrument)
Makes a particular instrument available for synthesis. |
boolean |
loadInstruments(Soundbank soundbank,
Patch[] patchList)
Loads the instruments referenced by the specified patches, from the specified Soundbank . |
boolean |
remapInstrument(Instrument from,
Instrument to)
Remaps an instrument. |
void |
unloadAllInstruments(Soundbank soundbank)
Unloads all instruments contained in the specified Soundbank . |
void |
unloadInstrument(Instrument instrument)
Unloads a particular instrument. |
void |
unloadInstruments(Soundbank soundbank,
Patch[] patchList)
Unloads the instruments referenced by the specified patches, from the MIDI sound bank specified. |
Methods inherited from interface javax.sound.midi.MidiDevice |
close, getDeviceInfo, getMaxReceivers, getMaxTransmitters, getMicrosecondPosition, getReceiver, getTransmitter, isOpen, open |
Method Detail |
public int getMaxPolyphony()
getVoiceStatus()
public long getLatency()
Although the latency is expressed in microseconds, a synthesizer's actual measured delay may vary over a wider range than this resolution suggests. For example, a synthesizer might have a worst-case delay of a few milliseconds or more.
public MidiChannel[] getChannels()
MidiChannel
that
receives the MIDI messages sent on that channel number.
The MIDI 1.0 specification provides for 16 channels, so this
method returns an array of at least 16 elements. However, if this synthesizer
doesn't make use of all 16 channels, some of the elements of the array
might be null
, so you should check each element
before using it.
MidiChannel
objects managed by this
Synthesizer
. Some of the array elements may be null
.public VoiceStatus[] getVoiceStatus()
Synthesizer
does not provide voice
information, the returned array will always be of length 0. Otherwise,
its length is always equal to the total number of voices, as returned by
getMaxPolyphony()
. (See the VoiceStatus
class
description for an explanation of synthesizer voices.)
VoiceStatus
objects that supply
information about the corresponding synthesizer voicesgetMaxPolyphony()
,
VoiceStatus
public boolean isSoundbankSupported(Soundbank soundbank)
IllegalArgumentException
.
soundbank
- soundbank for which support is queried
true
if the soundbank is supported, otherwise false
loadInstruments(javax.sound.midi.Soundbank, javax.sound.midi.Patch[])
,
loadAllInstruments(javax.sound.midi.Soundbank)
,
unloadInstruments(javax.sound.midi.Soundbank, javax.sound.midi.Patch[])
,
unloadAllInstruments(javax.sound.midi.Soundbank)
,
getDefaultSoundbank()
public boolean loadInstrument(Instrument instrument)
Patch
object, so that if a program-change message is
received (or has been received) that causes that patch to be selected,
subsequent notes will be played using the sound of
instrument
. If the specified instrument is already loaded,
this method does nothing and returns true
.
The instrument must be part of a soundbank
that this Synthesizer
supports. (To make sure, you can use
the getSoundbank
method of Instrument
and the
isSoundbankSupported
method of Synthesizer
.)
instrument
- instrument to load
true
if the instrument is successfully loaded (or
already had been), false
if the instrument could not be
loaded (for example, if the synthesizer has insufficient
memory to load it)
IllegalArgumentException
- if this
Synthesizer
doesn't support the specified instrument's
soundbankunloadInstrument(javax.sound.midi.Instrument)
,
loadInstruments(javax.sound.midi.Soundbank, javax.sound.midi.Patch[])
,
loadAllInstruments(javax.sound.midi.Soundbank)
,
remapInstrument(javax.sound.midi.Instrument, javax.sound.midi.Instrument)
,
SoundbankResource.getSoundbank()
,
MidiChannel.programChange(int, int)
public void unloadInstrument(Instrument instrument)
instrument
- instrument to unload
IllegalArgumentException
- if this
Synthesizer
doesn't support the specified instrument's
soundbankloadInstrument(javax.sound.midi.Instrument)
,
unloadInstruments(javax.sound.midi.Soundbank, javax.sound.midi.Patch[])
,
unloadAllInstruments(javax.sound.midi.Soundbank)
,
getLoadedInstruments()
,
remapInstrument(javax.sound.midi.Instrument, javax.sound.midi.Instrument)
public boolean remapInstrument(Instrument from, Instrument to)
to
takes the
place of instrument from
.
For example, if from
was located at bank number 2,
program number 11, remapping causes
that bank and program location to be occupied instead by
to
. Instrument from
is unloaded.
from
- instrument to be replacedto
- new instrument to be used in place of the old instrument
true
if the instrument could be remapped,
false
otherwise
IllegalArgumentException
- if the soundbank is not supportedpublic Soundbank getDefaultSoundbank()
null
if one does not exist.isSoundbankSupported(javax.sound.midi.Soundbank)
public Instrument[] getAvailableInstruments()
Note that you don't use this method to find out which instruments are
currently loaded onto the synthesizer; for that purpose, you use
getLoadedInstruments()
.
Nor does the method indicate all the instruments that can be loaded onto
the synthesizer; it only indicates the subset that come with the synthesizer.
To learn whether another instrument can be loaded, you can invoke
isSoundbankSupported()
, and if the instrument's
Soundbank
is supported, you can try loading the instrument.
getLoadedInstruments()
,
isSoundbankSupported(Soundbank)
,
loadInstrument(javax.sound.midi.Instrument)
public Instrument[] getLoadedInstruments()
Synthesizer
.
loadInstrument(javax.sound.midi.Instrument)
,
getAvailableInstruments()
,
Soundbank.getInstruments()
public boolean loadAllInstruments(Soundbank soundbank)
Synthesizer
all instruments contained
in the specified Soundbank
.
soundbank
- the Soundbank
whose are instruments are
to be loaded
true
if the instruments are all successfully loaded (or
already had been), false
if any instrument could not be
loaded (for example, if the Synthesizer
had insufficient memory)
IllegalArgumentException
- if the requested soundbank is
incompatible with this synthesizer.isSoundbankSupported(javax.sound.midi.Soundbank)
,
loadInstrument(javax.sound.midi.Instrument)
,
loadInstruments(javax.sound.midi.Soundbank, javax.sound.midi.Patch[])
public void unloadAllInstruments(Soundbank soundbank)
Soundbank
.
soundbank
- soundbank containing instruments to unload
IllegalArgumentException
- thrown if the soundbank is not supported.isSoundbankSupported(javax.sound.midi.Soundbank)
,
unloadInstrument(javax.sound.midi.Instrument)
,
unloadInstruments(javax.sound.midi.Soundbank, javax.sound.midi.Patch[])
public boolean loadInstruments(Soundbank soundbank, Patch[] patchList)
Soundbank
. Each of the Patch
objects
indicates a bank and program number; the Instrument
that
has the matching Patch
is loaded into that bank and program
location.
soundbank
- the Soundbank
containing the instruments to loadpatchList
- list of patches for which instruments should be loaded
true
if the instruments are all successfully loaded (or
already had been), false
if any instrument could not be
loaded (for example, if the Synthesizer
had insufficient memory)
IllegalArgumentException
- thrown if the soundbank is not supported.isSoundbankSupported(javax.sound.midi.Soundbank)
,
Instrument.getPatch()
,
loadAllInstruments(javax.sound.midi.Soundbank)
,
loadInstrument(javax.sound.midi.Instrument)
,
Soundbank.getInstrument(Patch)
,
Sequence.getPatchList()
public void unloadInstruments(Soundbank soundbank, Patch[] patchList)
soundbank
- soundbank containing instruments to unloadpatchList
- list of patches for which instruments should be unloaded
IllegalArgumentException
- thrown if the soundbank is not supported.unloadInstrument(javax.sound.midi.Instrument)
,
unloadAllInstruments(javax.sound.midi.Soundbank)
,
isSoundbankSupported(javax.sound.midi.Soundbank)
,
Instrument.getPatch()
,
loadInstruments(javax.sound.midi.Soundbank, javax.sound.midi.Patch[])