Spec-Zone.ru › OpenJDK 25

Интерфейс 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 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

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

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

Возвращает:
текущую последовательность или 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(Track, int)
  • recordDisable(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.

Параметры:
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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/sound/midi/Sequencer.html

Spec-Zone.ru

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