Spec-Zone.ru › OpenJDK 27

Интерфейс Sequencer

Все суперинтерфейсы:
AutoCloseable, MidiDevice
public interface Sequencer extends MidiDevice
Аппаратное или программное устройство, воспроизводящее MIDI-последовательность sequence, называется секвенсором. MIDI-последовательность содержит списки MIDI-данных с временными метками, например данные, считываемые из стандартного MIDI-файла. Большинство секвенсоров также предоставляют функции для создания и редактирования последовательностей.

Интерфейс Sequencer включает методы для выполнения следующих базовых операций MIDI-секвенсора:

  • получение последовательности из данных MIDI-файла
  • запуск и остановка воспроизведения
  • переход к произвольной позиции в последовательности
  • изменение темпа (скорости) воспроизведения
  • синхронизация воспроизведения с внутренними часами или получаемыми MIDI-сообщениями
  • управление синхронизацией другого устройства
Кроме того, поддерживаются следующие операции — напрямую или косвенно, через объекты, к которым имеет доступ Sequencer:
  • редактирование данных посредством добавления или удаления отдельных MIDI-событий или целых дорожек
  • отключение звука или перевод отдельных дорожек последовательности в режим соло
  • уведомление объектов-слушателей обо всех метасобытиях или событиях изменения контроллера, встреченных при воспроизведении последовательности
См. также:
  • Sequencer.SyncMode
  • addMetaEventListener(MetaEventListener)
  • ControllerEventListener
  • Receiver
  • Transmitter
  • MidiDevice

Краткое описание вложенных классов

Модификатор и тип Интерфейс Описание
static class  Sequencer.SyncMode
Объект SyncMode представляет один из способов синхронизации представления MIDI-секвенсором времени с ведущим или ведомым устройством.

Вложенные классы и интерфейсы, объявленные в интерфейсе MidiDevice

MidiDevice.Info
Модификатор и тип Интерфейс Описание
static class  MidiDevice.Info
Объект MidiDevice.Info содержит различные данные об MidiDevice, включая его имя, название создавшей его компании и описательный текст.

Краткое описание полей

Модификатор и тип Поле Описание
static final int LOOP_CONTINUOUSLY
Значение, указывающее, что циклическое воспроизведение должно продолжаться бесконечно, а не завершаться после заданного числа повторов.

Краткое описание методов

Модификатор и тип Метод Описание
int[] addControllerEventListener(ControllerEventListener listener, int[] controllers)
Регистрирует слушатель событий контроллера для получения уведомлений при обработке секвенсором события изменения контроллера указанного типа или типов.
boolean addMetaEventListener(MetaEventListener listener)
Регистрирует слушатель метасобытий для получения уведомлений при обнаружении метасобытия в последовательности и его обработке секвенсором.
int getLoopCount()
Возвращает количество повторов воспроизведения.
long getLoopEndPoint()
Возвращает конечную позицию цикла в MIDI-тиках.
long getLoopStartPoint()
Возвращает начальную позицию цикла в MIDI-тиках.
Sequencer.SyncMode getMasterSyncMode()
Возвращает текущий режим синхронизации ведущего устройства для этого секвенсора.
Sequencer.SyncMode[] getMasterSyncModes()
Возвращает набор режимов синхронизации ведущего устройства, поддерживаемых этим секвенсором.
long getMicrosecondLength()
Возвращает длительность текущей последовательности в микросекундах или 0, если последовательность не задана.
long getMicrosecondPosition()
Возвращает текущую позицию в последовательности в микросекундах.
Sequence getSequence()
Возвращает последовательность, с которой в данный момент работает Sequencer.
Sequencer.SyncMode getSlaveSyncMode()
Возвращает текущий режим синхронизации ведомого устройства для этого секвенсора.
Sequencer.SyncMode[] getSlaveSyncModes()
Возвращает набор режимов синхронизации ведомого устройства, поддерживаемых секвенсором.
float getTempoFactor()
Возвращает текущий коэффициент темпа секвенсора.
float getTempoInBPM()
Возвращает текущий темп в ударах в минуту.
float getTempoInMPQ()
Возвращает текущий темп в микросекундах на четвертную ноту.
long getTickLength()
Возвращает длительность текущей последовательности в MIDI-тиках или 0, если последовательность не задана.
long getTickPosition()
Возвращает текущую позицию в последовательности в MIDI-тиках.
boolean getTrackMute(int track)
Возвращает текущее состояние отключения звука дорожки.
boolean getTrackSolo(int track)
Возвращает текущее состояние режима соло для дорожки.
boolean isRecording()
Указывает, ведет ли Sequencer запись в данный момент.
boolean isRunning()
Указывает, работает ли Sequencer в данный момент.
void recordDisable(Track track)
Отключает запись на указанную дорожку.
void recordEnable(Track track, int channel)
Подготавливает указанную дорожку к записи событий, получаемых по определенному каналу.
int[] removeControllerEventListener(ControllerEventListener listener, int[] controllers)
Удаляет интерес слушателя событий контроллера к одному или нескольким типам событий контроллера.
void removeMetaEventListener(MetaEventListener listener)
Удаляет указанный слушатель метасобытий из списка зарегистрированных слушателей этого секвенсора, если он действительно зарегистрирован.
void setLoopCount(int count)
Задает количество повторов цикла воспроизведения.
void setLoopEndPoint(long tick)
Задает последний MIDI-тик, который будет воспроизведен в цикле.
void setLoopStartPoint(long tick)
Задает первый MIDI-тик, который будет воспроизведен в цикле.
void setMasterSyncMode(Sequencer.SyncMode sync)
Задает источник информации о времени, используемый этим секвенсором.
void setMicrosecondPosition(long microseconds)
Задает текущую позицию в последовательности в микросекундах.
void setSequence(InputStream stream)
Задает текущую последовательность, с которой работает секвенсор.
void setSequence(Sequence sequence)
Задает текущую последовательность, с которой работает секвенсор.
void setSlaveSyncMode(Sequencer.SyncMode sync)
Задает режим синхронизации ведомого устройства для секвенсора.
void setTempoFactor(float factor)
Изменяет фактический темп воспроизведения секвенсора в соответствии с заданным коэффициентом.
void setTempoInBPM(float bpm)
Задает темп в ударах в минуту.
void setTempoInMPQ(float mpq)
Задает темп в микросекундах на четвертную ноту.
void setTickPosition(long tick)
Задает текущую позицию секвенсора в MIDI-тиках.
void setTrackMute(int track, boolean mute)
Задает состояние отключения звука дорожки.
void setTrackSolo(int track, boolean solo)
Задает состояние режима соло для дорожки.
void start()
Запускает воспроизведение MIDI-данных из текущей загруженной последовательности.
void startRecording()
Запускает запись и воспроизведение MIDI-данных.
void stop()
Останавливает запись, если она ведется, и воспроизведение текущей загруженной последовательности, если она есть.
void stopRecording()
Останавливает запись, если она ведется.

Методы, объявленные в интерфейсе MidiDevice

close, getDeviceInfo, getMaxReceivers, getMaxTransmitters, getReceiver, getReceivers, getTransmitter, getTransmitters, isOpen, open
Модификатор и тип Метод Описание
void close()
Закрывает устройство, указывая, что оно должно освободить все используемые системные ресурсы.
MidiDevice.Info getDeviceInfo()
Возвращает сведения об устройстве, включая его класс Java и Strings с его именем, поставщиком и описанием.
int getMaxReceivers()
Возвращает максимальное количество MIDI-входов, доступных на этом MIDI-устройстве для получения MIDI-данных.
int getMaxTransmitters()
Возвращает максимальное количество MIDI-выходов, доступных на этом MIDI-устройстве для передачи MIDI-данных.
Receiver getReceiver()
Возвращает MIDI-приемник, через который MIDI-устройство может получать MIDI-данные.
List<Receiver> getReceivers()
Возвращает все активные, не закрытые приемники, подключенные к этому MidiDevice.
Transmitter getTransmitter()
Возвращает MIDI-выход, через который MIDI-устройство будет передавать MIDI-данные.
List<Transmitter> getTransmitters()
Возвращает все активные, не закрытые передатчики, подключенные к этому MidiDevice.
boolean isOpen()
Сообщает, открыто ли устройство.
void open()
Открывает устройство, указывая, что оно должно получить необходимые системные ресурсы и перейти в рабочее состояние.

Подробное описание полей

LOOP_CONTINUOUSLY

static final int LOOP_CONTINUOUSLY
Значение, указывающее, что воспроизведение должно продолжаться бесконечно, а не завершаться после заданного числа повторов.
Начиная с:
1.5
См. также:
  • setLoopCount(int)
  • Значения константных полей

Подробное описание методов

setSequence

void setSequence(Sequence sequence) throws InvalidMidiDataException
Задаёт текущую последовательность, с которой работает секвенсор.

Этот метод можно вызывать, даже если Sequencer закрыт.

Параметры:
sequence — последовательность для загрузки
Исключения:
InvalidMidiDataException — если последовательность содержит недопустимые данные MIDI или не поддерживается

setSequence

void setSequence(InputStream stream) throws IOException, InvalidMidiDataException
Задаёт текущую последовательность, с которой работает секвенсор. Поток должен указывать на данные MIDI-файла.

Этот метод можно вызывать, даже если Sequencer закрыт.

Параметры:
stream — поток, содержащий данные MIDI-файла
Исключения:
IOException — если при чтении потока возникла ошибка ввода-вывода
InvalidMidiDataException — если в потоке обнаружены недопустимые данные или поток не поддерживается

getSequence

Sequence getSequence()
Возвращает последовательность, с которой в данный момент работает Sequencer.

Этот метод можно вызывать, даже если Sequencer закрыт.

Возвращает:
текущую последовательность или null, если последовательность не задана

start

void start()
Начинает воспроизведение данных MIDI в текущей загруженной последовательности. Воспроизведение начнётся с текущей позиции. Если позиция воспроизведения достигнет конечной точки цикла, а число повторов цикла больше 0, воспроизведение возобновится с начальной точки цикла указанное в setLoopCount число раз. После этого либо, если число повторов цикла равно 0, воспроизведение продолжится до конца последовательности.

Реализация обеспечивает согласованное состояние синтезатора при переходе к начальной точке цикла, отправляя соответствующие события контроллеров, изменения высоты тона и смены программы.

Исключения:
IllegalStateException — если Sequencer закрыт
См. также:
  • setLoopStartPoint(long)
  • setLoopEndPoint(long)
  • setLoopCount(int)
  • stop()

stop

void stop()
Останавливает запись, если она активна, и воспроизведение текущей загруженной последовательности, если она есть.
Исключения:
IllegalStateException — если Sequencer закрыт
См. также:
  • start()
  • isRunning()

isRunning

boolean isRunning()
Указывает, выполняется ли в данный момент Sequencer. Значение по умолчанию — false. Sequencer начинает работу при вызове start() или startRecording(). isRunning затем возвращает true, пока воспроизведение последовательности не завершится или не будет вызван stop().
Возвращает:
true, если Sequencer работает, иначе false

startRecording

void startRecording()
Начинает запись и воспроизведение данных MIDI. Данные записываются во все включённые дорожки и на каналы, для которых они были включены. Запись начинается с текущей позиции секвенсора. Все события, уже имеющиеся в дорожке, перезаписываются на протяжении сеанса записи. События из текущей загруженной последовательности, если она есть, передаются передатчикам секвенсора вместе с сообщениями, полученными во время записи.

Обратите внимание, что по умолчанию дорожки не включены для записи. Для записи данных MIDI необходимо явно включить для записи хотя бы одну дорожку.

Исключения:
IllegalStateException — если Sequencer закрыт
См. также:
  • recordEnable(Track, int)
  • recordDisable(Track)

stopRecording

void stopRecording()
Останавливает запись, если она активна. Воспроизведение текущей последовательности продолжается.
Исключения:
IllegalStateException — если Sequencer закрыт
См. также:
  • startRecording()
  • isRecording()

isRecording

boolean isRecording()
Указывает, выполняет ли Sequencer запись в данный момент. Значение по умолчанию — false. Sequencer начинает запись при вызове startRecording() и возвращает true, пока не будет вызван stop() или stopRecording().
Возвращает:
true, если Sequencer выполняет запись, иначе false

recordEnable

void recordEnable(Track track, int channel)
Подготавливает указанную дорожку к записи событий, получаемых по определённому каналу. После включения дорожка будет получать события во время активной записи.
Параметры:
track — дорожка, в которую будут записываться события
channel — канал, по которому будут получаться события. Если в качестве значения канала указано -1, дорожка будет получать данные со всех каналов.
Исключения:
IllegalArgumentException — возникает, если дорожка не входит в текущую последовательность

recordDisable

void recordDisable(Track track)
Отключает запись в указанную дорожку. События больше не будут записываться в эту дорожку.
Параметры:
track — дорожка, запись в которую нужно отключить, или null, чтобы отключить запись во всех дорожках

getTempoInBPM

float getTempoInBPM()
Возвращает текущий темп, выраженный в долях в минуту. Фактический темп воспроизведения равен произведению возвращаемого значения и коэффициента темпа.
Возвращает:
текущий темп в долях в минуту
См. также:
  • getTempoFactor()
  • setTempoInBPM(float)
  • getTempoInMPQ()

setTempoInBPM

void setTempoInBPM(float bpm)
Задаёт темп в долях в минуту. Фактический темп воспроизведения равен произведению заданного значения и коэффициента темпа.
Параметры:
bpm — требуемый новый темп в долях в минуту
См. также:
  • getTempoFactor()
  • setTempoInMPQ(float)
  • getTempoInBPM()

getTempoInMPQ

float getTempoInMPQ()
Возвращает текущий темп, выраженный в микросекундах на четвертную ноту. Фактический темп воспроизведения равен произведению возвращаемого значения и коэффициента темпа.
Возвращает:
текущий темп в микросекундах на четвертную ноту
См. также:
  • getTempoFactor()
  • setTempoInMPQ(float)
  • getTempoInBPM()

setTempoInMPQ

void setTempoInMPQ(float mpq)
Задаёт темп в микросекундах на четвертную ноту. Фактический темп воспроизведения равен произведению заданного значения и коэффициента темпа.
Параметры:
mpq — требуемый новый темп в микросекундах на четвертную ноту
См. также:
  • getTempoFactor()
  • setTempoInBPM(float)
  • getTempoInMPQ()

setTempoFactor

void setTempoFactor(float factor)
Масштабирует фактический темп воспроизведения секвенсора с помощью заданного коэффициента. Значение по умолчанию — 1.0. Значение 1.0 соответствует естественной скорости (темпу, заданному в последовательности), 2.0 означает удвоенную скорость и т. д. Коэффициент темпа не влияет на значения, возвращаемые методами getTempoInMPQ() и getTempoInBPM(). Эти значения указывают темп до масштабирования.

Обратите внимание, что при использовании внешней синхронизации коэффициент темпа изменить нельзя. В этом случае setTempoFactor всегда устанавливает коэффициент темпа равным 1.0.

Параметры:
factor — запрошенный коэффициент темпа
См. также:
  • getTempoFactor()

getTempoFactor

float getTempoFactor()
Возвращает текущий коэффициент темпа секвенсора. Значение по умолчанию — 1.0.
Возвращает:
коэффициент темпа
См. также:
  • setTempoFactor(float)

getTickLength

long getTickLength()
Возвращает длину текущей последовательности в MIDI-тиках или 0, если последовательность не задана.
Возвращает:
длину последовательности в тиках

getTickPosition

long getTickPosition()
Возвращает текущую позицию в последовательности, выраженную в MIDI-тиках. (Длительность тика в секундах определяется как темпом, так и разрешением синхронизации, сохранённым в Sequence.)
Возвращает:
текущий тик
См. также:
  • setTickPosition(long)

setTickPosition

void setTickPosition(long tick)
Задаёт текущую позицию секвенсора в MIDI-тиках.
Параметры:
tick — требуемая позиция в тиках
См. также:
  • getTickPosition()

getMicrosecondLength

long getMicrosecondLength()
Возвращает длину текущей последовательности в микросекундах или 0, если последовательность не задана.
Возвращает:
длину последовательности в микросекундах

getMicrosecondPosition

long getMicrosecondPosition()
Возвращает текущую позицию в последовательности, выраженную в микросекундах.
Указано в:
getMicrosecondPosition в интерфейсе MidiDevice
Возвращает:
текущую позицию в микросекундах
См. также:
  • setMicrosecondPosition(long)

setMicrosecondPosition

void setMicrosecondPosition(long microseconds)
Задаёт текущую позицию в последовательности, выраженную в микросекундах.
Параметры:
microseconds — требуемая позиция в микросекундах
См. также:
  • getMicrosecondPosition()

setMasterSyncMode

void setMasterSyncMode(Sequencer.SyncMode sync)
Задаёт источник информации о синхронизации, используемый этим секвенсором. Секвенсор синхронизируется с ведущим источником — внутренними часами, MIDI-часами или MIDI-кодом времени — в зависимости от значения sync. Аргумент sync должен задавать один из поддерживаемых режимов, возвращаемых методом getMasterSyncModes().
Параметры:
sync — требуемый режим ведущей синхронизации
См. также:
  • Sequencer.SyncMode.INTERNAL_CLOCK
  • Sequencer.SyncMode.MIDI_SYNC
  • Sequencer.SyncMode.MIDI_TIME_CODE
  • getMasterSyncMode()

getMasterSyncMode

Sequencer.SyncMode getMasterSyncMode()
Возвращает текущий режим ведущей синхронизации для этого секвенсора.
Возвращает:
текущий режим ведущей синхронизации
См. также:
  • setMasterSyncMode(SyncMode)
  • getMasterSyncModes()

getMasterSyncModes

Sequencer.SyncMode[] getMasterSyncModes()
Возвращает набор режимов ведущей синхронизации, поддерживаемых этим секвенсором.
Возвращает:
доступные режимы ведущей синхронизации
См. также:
  • Sequencer.SyncMode.INTERNAL_CLOCK
  • Sequencer.SyncMode.MIDI_SYNC
  • Sequencer.SyncMode.MIDI_TIME_CODE
  • getMasterSyncMode()
  • setMasterSyncMode(SyncMode)

setSlaveSyncMode

void setSlaveSyncMode(Sequencer.SyncMode sync)
Задаёт режим ведомой синхронизации секвенсора. Он указывает тип информации о синхронизации, отправляемой секвенсором получателю. Аргумент sync должен задавать один из поддерживаемых режимов, возвращаемых методом getSlaveSyncModes().
Параметры:
sync — требуемый режим ведомой синхронизации
См. также:
  • Sequencer.SyncMode.MIDI_SYNC
  • Sequencer.SyncMode.MIDI_TIME_CODE
  • Sequencer.SyncMode.NO_SYNC
  • getSlaveSyncModes()

getSlaveSyncMode

Sequencer.SyncMode getSlaveSyncMode()
Возвращает текущий режим ведомой синхронизации для этого секвенсора.
Возвращает:
текущий режим ведомой синхронизации
См. также:
  • setSlaveSyncMode(SyncMode)
  • getSlaveSyncModes()

getSlaveSyncModes

Sequencer.SyncMode[] getSlaveSyncModes()
Возвращает набор режимов ведомой синхронизации, поддерживаемых секвенсором.
Возвращает:
доступные режимы ведомой синхронизации
См. также:
  • Sequencer.SyncMode.MIDI_SYNC
  • Sequencer.SyncMode.MIDI_TIME_CODE
  • Sequencer.SyncMode.NO_SYNC

setTrackMute

void setTrackMute(int track, boolean mute)
Задаёт состояние отключения звука для дорожки. Этот метод может завершиться неудачей по разным причинам. Например, указанный номер дорожки может быть недопустим для текущей последовательности или секвенсор может не поддерживать эту функцию. Приложению, которому необходимо проверить успешность этой операции, следует после вызова вызвать getTrackMute(int).
Параметры:
track — номер дорожки. Дорожки в текущей последовательности нумеруются от 0 до числа дорожек в последовательности минус 1.
mute — новое состояние отключения звука дорожки. true означает, что звук дорожки следует отключить, false — что звук дорожки следует включить.
См. также:
  • getSequence()

getTrackMute

boolean getTrackMute(int track)
Возвращает текущее состояние отключения звука дорожки. По умолчанию для всех дорожек, звук которых не отключён, установлено значение false. Если звук указанной дорожки не был отключён, этот метод должен возвращать false. Это относится и к случаям, когда секвенсор не поддерживает отключение звука дорожек или указан недопустимый индекс дорожки.
Параметры:
track — номер дорожки. Дорожки в текущей последовательности нумеруются от 0 до числа дорожек в последовательности минус 1.
Возвращает:
true, если звук отключён, false, если нет

setTrackSolo

void setTrackSolo(int track, boolean solo)
Задаёт режим соло для дорожки. Если solo имеет значение true, будет звучать только эта дорожка и другие дорожки в режиме соло. Если solo имеет значение false, будут звучать только другие дорожки в режиме соло; если таких дорожек нет, будут звучать все дорожки, звук которых не отключён.

Этот метод может завершиться неудачей по разным причинам. Например, указанный номер дорожки может быть недопустим для текущей последовательности или секвенсор может не поддерживать эту функцию. Приложению, которому необходимо проверить успешность этой операции, следует после вызова вызвать getTrackSolo(int).

Параметры:
track — номер дорожки. Дорожки в текущей последовательности нумеруются от 0 до числа дорожек в последовательности минус 1.
solo — новое состояние режима соло для дорожки. true означает, что дорожка должна звучать в режиме соло, false — что дорожка не должна звучать в режиме соло.
См. также:
  • getSequence()

getTrackSolo

boolean getTrackSolo(int track)
Возвращает текущее состояние режима соло для дорожки. По умолчанию для всех дорожек, не включённых в режим соло, установлено значение false. Если указанная дорожка не включена в режим соло, этот метод должен возвращать false. Это относится и к случаям, когда секвенсор не поддерживает режим соло для дорожек или указан недопустимый индекс дорожки.
Параметры:
track — номер дорожки. Дорожки в текущей последовательности нумеруются от 0 до числа дорожек в последовательности минус 1.
Возвращает:
true, если дорожка включена в режим соло, false, если нет

addMetaEventListener

boolean addMetaEventListener(MetaEventListener listener)
Регистрирует обработчик метасобытий, который будет получать уведомления при обнаружении метасобытия в последовательности и его обработке секвенсором. Этот метод может завершиться неудачей, например, если данный тип секвенсора не поддерживает уведомления о метасобытиях.
Параметры:
listener — добавляемый обработчик
Возвращает:
true, если обработчик успешно добавлен, иначе false
См. также:
  • removeMetaEventListener(MetaEventListener)
  • MetaEventListener
  • MetaMessage

removeMetaEventListener

void removeMetaEventListener(MetaEventListener listener)
Удаляет указанный обработчик метасобытий из списка зарегистрированных обработчиков секвенсора, если он действительно зарегистрирован.
Параметры:
listener — удаляемый обработчик метасобытий
См. также:
  • addMetaEventListener(MetaEventListener)

addControllerEventListener

int[] addControllerEventListener(ControllerEventListener listener, int[] controllers)
Регистрирует обработчик событий контроллера, который будет получать уведомления при обработке секвенсором события изменения контроллера запрошенного типа или типов. Типы указываются аргументом controllers, который должен содержать массив номеров MIDI-контроллеров. (Каждый номер должен находиться в диапазоне от 0 до 127 включительно. Номера, соответствующие различным типам контроллеров, см. в спецификации MIDI 1.0.)

Возвращаемый массив содержит номера MIDI-контроллеров, события которых теперь будет получать обработчик. Некоторые секвенсоры могут не поддерживать уведомления о событиях контроллеров; в этом случае длина массива равна 0. Другие секвенсоры могут поддерживать уведомления для одних контроллеров, но не для всех. Этот метод можно вызывать повторно. Каждый раз возвращаемый массив указывает все контроллеры, о которых обработчик будет получать уведомления, а не только контроллеры, запрошенные в конкретном вызове.

Параметры:
listener — обработчик событий контроллера, добавляемый в список зарегистрированных обработчиков
controllers — номера MIDI-контроллеров, для которых запрашиваются уведомления об изменениях
Возвращает:
номера всех MIDI-контроллеров, об изменениях которых теперь будет сообщаться указанному обработчику
См. также:
  • removeControllerEventListener(ControllerEventListener, int[])
  • ControllerEventListener

removeControllerEventListener

int[] removeControllerEventListener(ControllerEventListener listener, int[] controllers)
Отменяет подписку обработчика событий контроллера на один или несколько типов событий контроллера. Аргумент controllers — это массив номеров MIDI, соответствующих контроллерам, об изменениях которых обработчик больше не должен получать уведомления. Чтобы полностью удалить этот обработчик из списка зарегистрированных обработчиков, передайте null в качестве controllers. Возвращаемый массив содержит номера MIDI-контроллеров, события которых теперь будет получать обработчик. Длина массива равна 0, если обработчик больше не будет получать уведомления об изменениях каких-либо контроллеров.
Параметры:
listener — прежний обработчик
controllers — номера MIDI-контроллеров, для которых следует отменить уведомления об изменениях, или null, чтобы отменить уведомления для всех контроллеров
Возвращает:
номера всех MIDI-контроллеров, об изменениях которых теперь будет сообщаться указанному обработчику
См. также:
  • addControllerEventListener(ControllerEventListener, int[])

setLoopStartPoint

void setLoopStartPoint(long tick)
Задаёт первый MIDI-тик, который будет воспроизводиться в цикле. Если число повторов цикла больше 0, при достижении конечной точки цикла воспроизведение перейдёт к этой точке.

Значение 0 для начальной точки означает начало загруженной последовательности. Начальная точка должна быть меньше конечной или равна ей и находиться в пределах длины загруженной последовательности.

По умолчанию начальная точка цикла секвенсора совпадает с началом последовательности.

Параметры:
tick — начальная позиция цикла в MIDI-тиках (нумерация начинается с нуля)
Исключения:
IllegalArgumentException — если не удаётся задать требуемую начальную точку цикла, обычно потому, что она выходит за пределы длительности последовательности или расположена после конечной точки
Начиная с:
1.5
См. также:
  • setLoopEndPoint(long)
  • setLoopCount(int)
  • getLoopStartPoint()
  • start()

getLoopStartPoint

long getLoopStartPoint()
Возвращает начальную позицию цикла в MIDI-тиках.
Возвращает:
начальную позицию цикла в MIDI-тиках (нумерация начинается с нуля)
Начиная с:
1.5
См. также:
  • setLoopStartPoint(long)

setLoopEndPoint

void setLoopEndPoint(long tick)
Задает последний MIDI-такт, который будет воспроизводиться в цикле. Если количество повторов цикла равно 0, конечная точка цикла не учитывается, и воспроизведение продолжается при достижении конечной точки цикла.

Значение -1 для конечной точки указывает на последний такт последовательности. В противном случае конечная точка должна быть больше или равна начальной точке и находиться в пределах размера загруженной последовательности.

По умолчанию конечная точка цикла секвенсора равна -1, что означает конец последовательности.

Параметры:
tick — конечная позиция цикла в MIDI-тактах (отсчет начинается с нуля) или -1, чтобы указать последний такт
Исключения:
IllegalArgumentException — если заданную точку цикла невозможно установить, обычно потому, что она выходит за пределы длительности последовательности или конечная точка находится перед начальной точкой
Начиная с версии:
1.5
См. также:
  • setLoopStartPoint(long)
  • setLoopCount(int)
  • getLoopEndPoint()
  • start()

getLoopEndPoint

long getLoopEndPoint()
Возвращает конечную позицию цикла в MIDI-тактах.
Возвращает:
конечную позицию цикла в MIDI-тактах (отсчет начинается с нуля) или -1, чтобы указать конец последовательности
Начиная с версии:
1.5
См. также:
  • setLoopEndPoint(long)

setLoopCount

void setLoopCount(int count)
Задает количество повторов цикла при воспроизведении. Когда позиция воспроизведения достигает конечной точки цикла, воспроизведение возвращается к начальной точке цикла count раз, после чего продолжается до конца последовательности.

Если текущая позиция на момент вызова этого метода находится за конечной точкой цикла, воспроизведение продолжается до конца последовательности без повторения цикла, если только конечная точка цикла не будет изменена впоследствии.

Значение count 0 отключает повторение цикла: воспроизведение продолжается от конечной точки цикла и не возвращается к его начальной точке. Это значение по умолчанию для секвенсора.

Если воспроизведение остановлено во время повторения цикла, текущее состояние цикла сбрасывается; последующие запросы на запуск не зависят от прерванной операции повторения.

Параметры:
count — количество возвратов воспроизведения от конечной позиции цикла к начальной позиции или LOOP_CONTINUOUSLY, чтобы указать, что повторение цикла должно продолжаться до прерывания
Исключения:
IllegalArgumentException — если count отрицательно и не равно LOOP_CONTINUOUSLY
Начиная с версии:
1.5
См. также:
  • setLoopStartPoint(long)
  • setLoopEndPoint(long)
  • getLoopCount()
  • start()

getLoopCount

int getLoopCount()
Возвращает количество повторов при воспроизведении.
Возвращает:
количество повторов цикла, после которого воспроизведение продолжается до конца последовательности
Начиная с версии:
1.5
См. также:
  • setLoopCount(int)
  • start()

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры основных понятий, определения терминов, способы обхода проблем и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API