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
, active
public int bank
SoundBank
объект. Диапазоны значений от 0 до 16383, если речь является активной, и является неуказанной, если речь неактивна.Patch
, Soundbank
, active
, MidiChannel.programChange(int, int)
public int program
MidiChannel.getProgram()
, Patch
, active
public int note
MidiChannel.noteOn(int, int)
, active
public int volume
Отметьте, что это значение не обязательно отражает мгновенный уровень звука, произведенного этой речью; тот уровень является результатом многих влияющих факторов, включая текущий инструмент и форму амплитудного конверта, который это производит.
active
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92