|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public class VoiceStatus extends Object
VoiceStatus объект содержит информацию о текущем статусе одной из речи, произведенной a Synthesizer. Синтезаторы MIDI обычно способны к созданию некоторого максимального количества одновременных примечаний, также называемы речью. Речь является потоком последовательных единственных примечаний, и процесс присвоения входящих примечаний MIDI к определенной речи известен как речевое выделение. Однако, алгоритм речевого выделения и содержание каждой речи являются обычно внутренними к синтезатору MIDI и скрытый от внешнего представления. Можно, конечно, учиться из сообщений MIDI, который отмечает, что синтезатор играет, и можно было бы быть в состоянии, выводят что-то о присвоении примечаний к речи. Но сам MIDI не обеспечивает средство сообщить, какие примечания синтезатор присвоил, к которой речи, ни даже сообщить сколько речи синтезатор способен к синтезированию.
В Звуке Java, однако, a Synthesizer class может представить содержание своей речи через его getVoiceStatus() метод. Это поведение рекомендуется, но дополнительное; синтезаторы, которые не представляют их речевое выделение просто, возвращают массив нулевой длиной. A Synthesizer это действительно сообщает, что его речевое состояние должно поддержать эту информацию всегда для всей его речи, звучат ли они в настоящий момент или нет. Другими словами, данный тип Synthesizer всегда имеет постоянное число речи, равной максимальному количеству одновременных примечаний, это способно к звучанию.
Если речь в настоящий момент не обрабатывает примечание MIDI, это считают неактивным. Речь неактивна, когда она не была дана никакое указание - на командах, или когда каждое примечание - на полученной команде было завершено соответствующим примечанием - прочь (или "всем примечания от" сообщения). Например, это происходит, когда синтезатору, способному к игре 16 одновременных примечаний, говорят играть аккорд с четырьмя примечаниями; только четыре речи является активной в этом случае (предполагающий, что никакие более ранние примечания все еще не играют). Обычно, речь, о состоянии которой сообщают как активное, производит слышимый звук, но это - не всегда истина; это зависит от деталей инструмента (то есть, алгоритм синтеза) и сколько времени примечание продолжалось. Например, речь может синтезировать звук единственного ручного хлопка. Поскольку этот звук замирает так быстро, это может стать неслышимым прежде, чем примечание - от сообщения будет получено. В такой ситуации речь все еще считают активной даже при том, что никакой звук в настоящий момент не производится.
Помимо его активного или неактивного состояния, VoiceStatus class обеспечивает поля, которые показывают текущий канал MIDI речи, банк и число программы, число примечания MIDI, и объем MIDI. Все они могут измениться в течение речи. В то время как речь неактивна, у каждого из этих полей есть неуказанное значение, таким образом, следует проверить активное поле сначала.
| Модификатор и Тип | Поле и Описание |
|---|---|
boolean |
активный
Указывает, обрабатывает ли речь в настоящий момент примечание MIDI.
|
int |
банк
Число банка инструмента, который в настоящий момент использует эта речь.
|
int |
канал
Канал MIDI, на котором играет эта речь.
|
int |
отметить
Примечание MIDI, которое играет эта речь.
|
int |
программа
Число программы инструмента, который в настоящий момент использует эта речь.
|
int |
объем
Текущий уровень громкости MIDI для речи.
|
| Конструктор и Описание |
|---|
VoiceStatus() |
public boolean active
public int channel
MidiChannel, activepublic int bank
SoundBank объект. Диапазоны значений от 0 до 16383, если речь является активной, и является неуказанной, если речь неактивна.Patch, Soundbank, active, MidiChannel.programChange(int, int)public int program
MidiChannel.getProgram(), Patch, activepublic int note
MidiChannel.noteOn(int, int), activepublic int volume
Отметьте, что это значение не обязательно отражает мгновенный уровень звука, произведенного этой речью; тот уровень является результатом многих влияющих факторов, включая текущий инструмент и форму амплитудного конверта, который это производит.
active
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92