Spec-Zone.ru › OpenJDK 21

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

Все суперинтерфейсы:
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

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

Modifier and Type Interface Description
static class  Sequencer.SyncMode
Объект SyncMode представляет один из способов синхронизации временной шкалы секвенсора MIDI с устройством-мастером или устройством-рабом.

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

MidiDevice.Info

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

Modifier and Type Field Description
static final int LOOP_CONTINUOUSLY
Значение, указывающее, что цикл должен продолжаться бесконечно, а не завершаться после определенного числа повторений.

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

Modifier and Type Method Description
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 - если при чтении потока возникает исключение I/O
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.

Параметры:
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)
Регистрирует слушателя событий мета-событий для получения уведомлений всякий раз, когда в последовательности встречается и обрабатывается событие мета-события секвенсором. Этот метод может завершиться ошибкой, если, например, этот класс секвенсора не поддерживает уведомления о событиях мета-событий.
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, 2023, 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/21/docs/api/java.desktop/javax/sound/midi/Sequencer.html

Spec-Zone.ru

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