|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface Synthesizer extends MidiDevice
Synthesizer генерирует звук. Это обычно происходит когда один из Synthesizer's MidiChannel объекты получают a noteOn сообщение, или непосредственно или через Synthesizer объект. Многие Synthesizers поддержка Receivers, через который события MIDI могут быть поставлены Synthesizer. В таких случаях, Synthesizer обычно отвечает, отправляя соответствующее сообщение к соответствующему MidiChannel, или обрабатывая событие непосредственно, если событие не является одним из сообщений канала MIDI. Synthesizer интерфейс включает методы для инструментов загрузки и разгрузки от soundbanks. Инструмент является спецификацией для того, чтобы синтезировать определенный тип звука, эмулирует ли тот звук традиционный инструмент или является некоторым звуковым эффектом или другим воображаемым звуком. soundbank является набором инструментов, организованных банком и числом программы (через инструмент Patch объект). Отличающийся Synthesizer классы могли бы реализовать различные методы синтеза звука, означая, что некоторые инструменты и не другие могли бы быть совместимыми с данным синтезатором. Кроме того, у синтезаторов может быть ограниченный объем памяти для инструментов, означая, что не каждый soundbank и инструмент могут использоваться каждым синтезатором, даже если метод синтеза является совместимым. Чтобы видеть, могут ли инструменты от определенного soundbank играться данным синтезатором, вызовите isSoundbankSupported метод Synthesizer.
"Загрузка" инструмента означает, что тот инструмент становится доступным для синтезирования примечаний. Инструмент загружается в банк и расположение программы, определенное Patch объект. Загрузка не обязательно означает, что впоследствии у играемых примечаний сразу будет звук этого недавно загруженного инструмента. Для инструмента, чтобы играть примечания, один из синтезатора MidiChannel объекты должны получить (или получили), сообщение изменения программы, которое заставляет банк того определенного инструмента и число программы быть выбранным.
MidiDevice. Информация| Модификатор и Тип | Метод и Описание |
|---|---|
Инструмент[] |
getAvailableInstruments()
Получает список инструментов, которые идут с синтезатором.
|
MidiChannel[] |
getChannels()
Получает набор каналов MIDI, которыми управляет этот синтезатор.
|
Soundbank |
getDefaultSoundbank()
Получает значение по умолчанию soundbank для синтезатора, если Вы существуете.
|
long |
getLatency()
Получает задержку обработки, понесенную этим синтезатором, выраженным в микросекундах.
|
Инструмент[] |
getLoadedInstruments()
Получает список инструментов, которые в настоящий момент загружаются на это
Synthesizer. |
int |
getMaxPolyphony()
Получает максимальное количество примечаний, которыми этот синтезатор может звучать одновременно.
|
VoiceStatus[] |
getVoiceStatus()
Получает текущий статус речи, произведенной этим синтезатором.
|
boolean |
isSoundbankSupported(Soundbank soundbank)
Сообщает вызывающей стороне, способен ли этот синтезатор к загружающимся инструментам от указанного soundbank.
|
boolean |
loadAllInstruments(Soundbank soundbank)
Загрузки на
Synthesizer все инструменты содержатся в указанном Soundbank. |
boolean |
loadInstrument(Instrument instrument)
Делает определенный инструмент доступным для синтеза.
|
boolean |
loadInstruments(Soundbank soundbank, Patch[] patchList)
Загружает инструменты, на которые ссылаются указанные патчи, от указанного
Soundbank. |
boolean |
remapInstrument(Instrument from, Instrument to)
Повторно отображает инструмент.
|
void |
unloadAllInstruments(Soundbank soundbank)
Разгружает все инструменты, содержавшиеся в указанном
Soundbank. |
void |
unloadInstrument(Instrument instrument)
Разгружает определенный инструмент.
|
void |
unloadInstruments(Soundbank soundbank, Patch[] patchList)
Разгружает инструменты, на которые ссылаются указанные патчи, от определенного банка звуков MIDI.
|
close, getDeviceInfo, getMaxReceivers, getMaxTransmitters, getMicrosecondPosition, getReceiver, getReceivers, getTransmitter, getTransmitters, isOpen, openint getMaxPolyphony()
getVoiceStatus()long getLatency()
Хотя задержка выражается в микросекундах, фактическая измеренная задержка синтезатора может измениться по более широкому диапазону, чем это разрешение предлагает. Например, у синтезатора могла бы быть задержка худшего случая нескольких миллисекунд или больше.
MidiChannel[] getChannels()
MidiChannel это получает сообщения MIDI, отправленные на том номере канала. MIDI 1.0 спецификации предусматривают 16 каналов, таким образом, этот метод возвращает массив по крайней мере 16 элементов. Однако, если этот синтезатор не использует все 16 каналов, некоторые из элементов массива могли бы быть null, таким образом, следует проверить каждый элемент перед использованием этого.
MidiChannel объекты управляли этим Synthesizer. Некоторые из элементов массива могут быть null.VoiceStatus[] getVoiceStatus()
Synthesizer не предоставляет информацию о речи, возвращенный массив будет всегда иметь длину 0. Иначе, его длина всегда равна общему количеству речи, как возвращено getMaxPolyphony(). (См. VoiceStatus Описание class для объяснения речи синтезатора.)VoiceStatus объекты, которые предоставляют информацию о соответствующей речи синтезатораgetMaxPolyphony(), VoiceStatusboolean isSoundbankSupported(Soundbank soundbank)
IllegalArgumentException.soundbank - soundbank, для которого запрашивается поддержкаtrue если soundbank поддерживается, иначе falseloadInstruments(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()boolean loadInstrument(Instrument instrument)
Patch объект, так, чтобы, если сообщение изменения программы получается (или был получен), который заставляет тот патч быть выбранным, последующие примечания игрались, используя звук instrument. Если указанный инструмент уже загружается, этот метод не делает ничего и возвратов true. Инструмент должен быть частью soundbank что это Synthesizer поддерживает. (Чтобы удостовериться, можно использовать getSoundbank метод Instrument и isSoundbankSupported метод Synthesizer.)
instrument - инструмент, чтобы загрузитьсяtrue если инструмент успешно загружается (или уже был), false если инструмент не мог бы быть загружен (например, если у синтезатора есть недостаточная память, чтобы загрузить его),IllegalArgumentException - если это Synthesizer не поддерживает soundbank указанного инструментаunloadInstrument(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)void unloadInstrument(Instrument instrument)
instrument - инструмент, чтобы разгрузитьсяIllegalArgumentException - если это Synthesizer не поддерживает soundbank указанного инструментаloadInstrument(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)boolean remapInstrument(Instrument from, Instrument to)
to берет место инструмента from.from был расположен в банке номер 2, программа номер 11, повторно отображая причины что банк и расположение программы, которое будет занято вместо этого to.from разгружается. Отменять повторно отображающийся инструмент перезагрузки from вызывая один из loadInstrument(javax.sound.midi.Instrument), loadInstruments(javax.sound.midi.Soundbank, javax.sound.midi.Patch[]) или loadAllInstruments(javax.sound.midi.Soundbank).
from - Instrument объект, который будет замененto - Instrument объект, который будет использоваться вместо старого инструмента, это должно быть загружено в синтезаторtrue если инструмент succeessfully повторно отображенный, false если опция не реализуется синтезаторомIllegalArgumentException - если инструмент from или инструмент to не поддерживаются синтезатором или если инструмент to не загружаетсяNullPointerException - если from или to у параметров есть нулевое значениеloadInstrument(javax.sound.midi.Instrument), loadInstruments(javax.sound.midi.Soundbank, javax.sound.midi.Patch[]), loadAllInstruments(javax.sound.midi.Soundbank)Soundbank getDefaultSoundbank()
null если Вы не существуете.isSoundbankSupported(javax.sound.midi.Soundbank)Instrument[] getAvailableInstruments()
Отметьте, что Вы не используете этот метод, чтобы узнать, какие инструменты в настоящий момент загружаются на синтезатор; с этой целью Вы используете getLoadedInstruments(). И при этом метод не указывает на все инструменты, которые могут быть загружены на синтезатор; это только указывает на подмножество, которые идут с синтезатором. Чтобы учиться, может ли другой инструмент быть загружен, можно вызвать isSoundbankSupported(), и если инструмент Soundbank поддерживается, можно попытаться загрузить инструмент.
getLoadedInstruments(), isSoundbankSupported(Soundbank), loadInstrument(javax.sound.midi.Instrument)Instrument[] getLoadedInstruments()
Synthesizer.loadInstrument(javax.sound.midi.Instrument), getAvailableInstruments(), Soundbank.getInstruments()boolean loadAllInstruments(Soundbank soundbank)
Synthesizer все инструменты содержатся в указанном Soundbank.soundbank - Soundbank чей инструменты, должны быть загруженыtrue если инструменты все успешно загружаются (или уже был), false если какой-либо инструмент не мог бы быть загружен (например, если Synthesizer имел недостаточную память),IllegalArgumentException - если требуемый soundbank является несовместимым с этим синтезатором.isSoundbankSupported(javax.sound.midi.Soundbank), loadInstrument(javax.sound.midi.Instrument), loadInstruments(javax.sound.midi.Soundbank, javax.sound.midi.Patch[])void unloadAllInstruments(Soundbank soundbank)
Soundbank.soundbank - soundbank, содержащий инструменты, чтобы разгрузитьсяIllegalArgumentException - брошенный, если soundbank не поддерживается.isSoundbankSupported(javax.sound.midi.Soundbank), unloadInstrument(javax.sound.midi.Instrument), unloadInstruments(javax.sound.midi.Soundbank, javax.sound.midi.Patch[])boolean loadInstruments(Soundbank soundbank, Patch[] patchList)
Soundbank. Каждый из Patch объекты указывают на банк и число программы; Instrument у этого есть соответствие Patch загружается в тот банк и расположение программы.soundbank - Soundbank содержа инструменты, чтобы загрузитьсяpatchList - список патчей, для которых должны быть загружены инструментыtrue если инструменты все успешно загружаются (или уже был), false если какой-либо инструмент не мог бы быть загружен (например, если Synthesizer имел недостаточную память),IllegalArgumentException - брошенный, если soundbank не поддерживается.isSoundbankSupported(javax.sound.midi.Soundbank), Instrument.getPatch(), loadAllInstruments(javax.sound.midi.Soundbank), loadInstrument(javax.sound.midi.Instrument), Soundbank.getInstrument(Patch), Sequence.getPatchList()void unloadInstruments(Soundbank soundbank, Patch[] patchList)
soundbank - soundbank, содержащий инструменты, чтобы разгрузитьсяpatchList - список патчей, для которых должны быть разгружены инструментыIllegalArgumentException - брошенный, если soundbank не поддерживается.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[])
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92