Spec-Zone.ru › OpenJDK 8

Интерфейс Sequencer

Все суперинтерфейсы:
AutoCloseable, MidiDevice

public interface Sequencer
extends MidiDevice

Устройство (аппаратное или программное), воспроизводящее MIDI sequence , называется секвенсором. MIDI-последовательность содержит списки временных меток MIDI-данных, например, таких, которые могут быть прочитаны из стандартного MIDI-файла. Большинство секвенсоров также предоставляют функции для создания и редактирования последовательностей.

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

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

Вложенные классы

Модификатор и тип Интерфейс и описание
static class  Sequencer.SyncMode

Объект SyncMode представляет один из способов синхронизации понятия времени MIDI-секвенсора с устройством-мастером или устройством-рабом.

Вложенные классы/интерфейсы, унаследованные от интерфейса javax.sound.midi.MidiDevice

MidiDevice.Info

Поля

Модификатор и тип Поле и описание
static 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()

Останавливает запись, если она активна.

Методы, унаследованные от интерфейса javax.sound.midi.MidiDevice

close, getDeviceInfo, getMaxReceivers, getMaxTransmitters, getReceiver, getReceivers, getTransmitter, getTransmitters, isOpen, open

Поля

LOOP_CONTINUOUSLY

static final int LOOP_CONTINUOUSLY

Значение, указывающее, что цикл должен продолжаться бесконечно, а не завершаться после определенного числа циклов.

Since:
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 закрыт.

Возвращает:
текущую последовательность или 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 закрыт.
См. также:
startRecording(), recordEnable(javax.sound.midi.Track, int), recordDisable(javax.sound.midi.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(Sequencer.SyncMode), getMasterSyncModes()

getMasterSyncModes

Sequencer.SyncMode[] getMasterSyncModes()

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

Возвращает:
доступные режимы синхронизации главного источника
См. также:
Sequencer.SyncMode.INTERNAL_CLOCK, Sequencer.SyncMode.MIDI_SYNC, Sequencer.SyncMode.MIDI_TIME_CODE, getMasterSyncMode(), setMasterSyncMode(Sequencer.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(Sequencer.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(javax.sound.midi.MetaEventListener), MetaEventListener, MetaMessage

removeMetaEventListener

void removeMetaEventListener(MetaEventListener listener)

Удаляет указанного слушателя мета-событий из списка зарегистрированных слушателей этого секвенсора, если он, на самом деле, зарегистрирован.

Параметры:
listener - слушатель мета-событий для удаления
См. также:
addMetaEventListener(javax.sound.midi.MetaEventListener)

addControllerEventListener

int[] addControllerEventListener(ControllerEventListener listener,
                                 int[] controllers)

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

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

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

removeControllerEventListener

int[] removeControllerEventListener(ControllerEventListener listener,
                                    int[] controllers)

Удаляет интерес слушателя событий управления к одному или нескольким типам событий управления. Аргумент controllers — массив MIDI-номеров, соответствующих контроллерам, для которых слушатель больше не должен получать уведомления об изменениях. Чтобы полностью удалить этого слушателя из списка зарегистрированных слушателей, передайте null для controllers. Возвращаемый массив содержит номера MIDI-контроллеров, изменения которых теперь будут сообщаться слушателю. Длина массива равна 0, если слушатель не будет получать уведомления об изменениях для каких-либо контроллеров.

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

установить начальную точку цикла

void setLoopStartPoint(long tick)

Устанавливает первую MIDI-метку, которая будет воспроизводиться в цикле. Если количество повторений цикла больше 0, воспроизведение перейдёт к этой метке при достижении конечной точки цикла.

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

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

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

получить начальную точку цикла

long getLoopStartPoint()

Получает начальную позицию цикла в MIDI-метках.

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

установить конечную точку цикла

void setLoopEndPoint(long tick)

Устанавливает последнюю MIDI-метку, которая будет воспроизводиться в цикле. Если количество повторений цикла равно 0, конечная точка цикла не имеет эффекта, и воспроизведение продолжается до достижения конечной точки цикла.

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

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

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

получить конечную точку цикла

long getLoopEndPoint()

Получает конечную позицию цикла в MIDI-метках.

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

установить количество повторений цикла

void setLoopCount(int count)

Устанавливает количество повторений цикла во время воспроизведения. Когда позиция воспроизведения достигает конечной точки цикла, она возвращается к начальной точке цикла count раз, после чего воспроизведение продолжается до конца последовательности.

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

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

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

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

получить количество повторений цикла

int getLoopCount()

Получает количество повторений во время воспроизведения.

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

© 1993, 2020, 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