Spec-Zone.ru › OpenJDK 24

Интерфейс секвенсора

Все суперинтерфейсы:
AutoCloseable, MidiDevice
public interface Sequencer extends MidiDevice
Устройство, аппаратное или программное, которое воспроизводит MIDI-последовательность, называется секвенсором. 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 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.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()
Указывает, находится ли секвенсор в режиме записи.
boolean isRunning()
Указывает, находится ли секвенсор в режиме воспроизведения.
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()
Указывает, работает ли в данный момент секвенсор. Значение по умолчанию — false. Секвенсор начинает работать, когда вызывается либо start(), либо startRecording(). isRunning затем возвращает true, пока воспроизведение последовательности не завершится или не будет вызвано stop().
Возвращает:
true, если секвенсор работает, в противном случае false

startRecording

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

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

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

stopRecording

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

isRecording

boolean isRecording()
Указывает, находится ли секвенсор в режиме записи. Значение по умолчанию — false. Секвенсор начинает запись при вызове startRecording() и затем возвращает true, пока не будет вызвано stop() или stopRecording().
Возвращает:
true, если секвенсор записывает, в противном случае 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.

Parameters:
factor - запрашиваемый множитель темпа
See Also:
  • getTempoFactor()

getTempoFactor

float getTempoFactor()
Возвращает текущий фактор темпа секвенсора. По умолчанию значение равно 1.0.
Returns:
фактор темпа
See Also:
  • setTempoFactor(float)

getTickLength

long getTickLength()
Получает длительность текущей секвенции в тиках MIDI или 0, если секвенция не задана.
Returns:
длительность секвенции в тиках

getTickPosition

long getTickPosition()
Получает текущую позицию в секвенции в тиках MIDI. (Продолжительность тика в секундах определяется как темпом, так и разрешением тайминга, хранящимся в Sequence).
Returns:
текущий тик
See Also:
  • setTickPosition(long)

setTickPosition

void setTickPosition(long tick)
Устанавливает текущую позицию секвенсора в тиках MIDI.
Parameters:
tick - желаемая позиция в тиках
See Also:
  • getTickPosition()

getMicrosecondLength

long getMicrosecondLength()
Получает длительность текущей секвенции в микросекундах или 0, если секвенция не задана.
Returns:
длительность секвенции в микросекундах

getMicrosecondPosition

long getMicrosecondPosition()
Получает текущую позицию в секвенции в микросекундах.
Specified by:
getMicrosecondPosition в интерфейсе MidiDevice
Returns:
текущая позиция в микросекундах
See Also:
  • setMicrosecondPosition(long)

setMicrosecondPosition

void setMicrosecondPosition(long microseconds)
Устанавливает текущую позицию в секвенции в микросекундах.
Parameters:
microseconds - желаемая позиция в микросекундах
See Also:
  • getMicrosecondPosition()

setMasterSyncMode

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

getMasterSyncMode

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

getMasterSyncModes

Sequencer.SyncMode[] getMasterSyncModes()
Получает набор режимов синхронизации с мастером, поддерживаемых этим секвенсором.
Returns:
доступные режимы синхронизации с мастером
See Also:
  • Sequencer.SyncMode.INTERNAL_CLOCK
  • Sequencer.SyncMode.MIDI_SYNC
  • Sequencer.SyncMode.MIDI_TIME_CODE
  • getMasterSyncMode()
  • setMasterSyncMode(SyncMode)

setSlaveSyncMode

void setSlaveSyncMode(Sequencer.SyncMode sync)
Устанавливает режим синхронизации ведомого для секвенсора. Это указывает на тип информации о тайминге, отправляемой секвенсором получателю. Аргумент sync должен быть одним из поддерживаемых режимов, возвращаемых getSlaveSyncModes().
Parameters:
sync - желаемый режим синхронизации ведомого
See Also:
  • Sequencer.SyncMode.MIDI_SYNC
  • Sequencer.SyncMode.MIDI_TIME_CODE
  • Sequencer.SyncMode.NO_SYNC
  • getSlaveSyncModes()

getSlaveSyncMode

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

getSlaveSyncModes

Sequencer.SyncMode[] getSlaveSyncModes()
Получает набор режимов синхронизации ведомого, поддерживаемых секвенсором.
Returns:
доступные режимы синхронизации ведомого
See Also:
  • Sequencer.SyncMode.MIDI_SYNC
  • Sequencer.SyncMode.MIDI_TIME_CODE
  • Sequencer.SyncMode.NO_SYNC

setTrackMute

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

getTrackMute

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

setTrackSolo

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

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

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

getTrackSolo

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

addMetaEventListener

boolean addMetaEventListener(MetaEventListener listener)
Регистрирует слушателя мета-событий для получения уведомлений всякий раз, когда в последовательности встречается мета-событие и оно обрабатывается секвенсором. Этот метод может завершиться неудачей, если, например, данный класс секвенсора не поддерживает уведомления о мета-событиях.
Parameters:
listener - слушатель для добавления
Returns:
true, если слушатель был успешно добавлен, иначе false
See Also:
  • removeMetaEventListener(javax.sound.midi.MetaEventListener)
  • MetaEventListener
  • MetaMessage

removeMetaEventListener

void removeMetaEventListener(MetaEventListener listener)
Удаляет указанного слушателя мета-событий из списка зарегистрированных слушателей секвенсора, если слушатель, в действительности, зарегистрирован.
Parameters:
listener - слушатель мета-событий для удаления
See Also:
  • addMetaEventListener(javax.sound.midi.MetaEventListener)

addControllerEventListener

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

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

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

removeControllerEventListener

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

setLoopStartPoint

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

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

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

Parameters:
tick - начальная позиция цикла в метках MIDI (нумерация с нуля)
Throws:
IllegalArgumentException - если заданная начальная точка цикла не может быть установлена, обычно потому, что она выходит за пределы продолжительности последовательности или потому, что начальная точка находится после конечной точки
Since:
1.5
See Also:
  • setLoopEndPoint(long)
  • setLoopCount(int)
  • getLoopStartPoint()
  • start()

getLoopStartPoint

long getLoopStartPoint()
Получает начальную позицию цикла в метках MIDI.
Returns:
начальная позиция цикла в метках MIDI (нумерация с нуля)
Since:
1.5
See Also:
  • setLoopStartPoint(long)

setLoopEndPoint

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

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

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

Parameters:
tick - конечная позиция цикла в метках MIDI (нумерация с нуля), или -1 для указания конечной метки
Throws:
IllegalArgumentException - если заданная конечная точка цикла не может быть установлена, обычно потому, что она выходит за пределы продолжительности последовательности или потому, что конечная точка находится перед начальной точкой
Since:
1.5
See Also:
  • setLoopStartPoint(long)
  • setLoopCount(int)
  • getLoopEndPoint()
  • start()

getLoopEndPoint

long getLoopEndPoint()
Получает конечную позицию цикла в метках MIDI.
Returns:
конечная позиция цикла в метках MIDI (нумерация с нуля), или -1 для указания конца последовательности
Since:
1.5
See Also:
  • setLoopEndPoint(long)

setLoopCount

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

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

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

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

Parameters:
count - количество раз, когда воспроизведение должно возвращаться от конечной позиции цикла к начальной позиции цикла, или LOOP_CONTINUOUSLY для указания, что цикл должен продолжаться до его прерывания
Throws:
IllegalArgumentException - если count отрицательное и не равно LOOP_CONTINUOUSLY
Since:
1.5
See Also:
  • setLoopStartPoint(long)
  • setLoopEndPoint(long)
  • getLoopCount()
  • start()

getLoopCount

int getLoopCount()
Получает количество повторений для воспроизведения.
Returns:
количество циклов, после которых воспроизведение доходит до конца последовательности
Since:
1.5
See Also:
  • setLoopCount(int)
  • start()

© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/sound/midi/Sequencer.html

Spec-Zone.ru

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