Spec-Zone.ru › OpenJDK 27

Класс Track

java.lang.Object
javax.sound.midi.Track
public final class Track extends Object
Дорожка MIDI — это независимый поток событий MIDI (данных MIDI с временными метками), который можно хранить вместе с другими дорожками в стандартном файле MIDI. Спецификация MIDI допускает использование только 16 каналов MIDI-данных, но дорожки позволяют обойти это ограничение. Файл MIDI может содержать любое количество дорожек, каждая из которых содержит собственный поток до 16 каналов MIDI-данных.

Track занимает промежуточный уровень в иерархии данных, воспроизводимых Sequencer: секвенсоры воспроизводят последовательности, содержащие дорожки, которые содержат события MIDI. Секвенсор может предоставлять элементы управления для отключения звука отдельных дорожек или их воспроизведения в сольном режиме.

Информация о времени и разрешение дорожки определяются последовательностью, содержащей эту дорожку, и хранятся в ней. Считается, что данный Track принадлежит конкретному объекту Sequence, который определяет его временные параметры. По этой причине новая (пустая) дорожка создается вызовом метода Sequence.createTrack(), а не непосредственным вызовом конструктора Track.

Класс Track предоставляет методы для редактирования дорожки путем добавления в нее объектов MidiEvent или удаления их из нее. Эти операции поддерживают правильный порядок событий по времени. Также предусмотрены методы для получения размера дорожки — как по количеству содержащихся в ней событий, так и по длительности в тиках.

См. также:
  • Sequencer.setTrackMute(int, boolean)
  • Sequencer.setTrackSolo(int, boolean)

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

Модификатор и тип Метод Описание
boolean add(MidiEvent event)
Добавляет новое событие в дорожку.
MidiEvent get(int index)
Возвращает событие по указанному индексу.
boolean remove(MidiEvent event)
Удаляет указанное событие из дорожки.
int size()
Возвращает количество событий в этой дорожке.
long ticks()
Возвращает длину дорожки, выраженную в тиках MIDI.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарел и будет удален: этот элемент API может быть удален в будущей версии.
Финализация устарела и может быть удалена в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого объекта Object.
int hashCode()
Возвращает значение хеш-кода этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

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

add

public boolean add(MidiEvent event)
Добавляет новое событие в дорожку. Однако если это событие уже содержится в дорожке, повторно оно не добавляется. Список событий поддерживается в хронологическом порядке: событие вставляется в соответствующее место списка, а не обязательно в его конец.
Параметры:
event — добавляемое событие
Возвращает:
true, если событие еще не содержалось в дорожке и было добавлено; в противном случае — false

remove

public boolean remove(MidiEvent event)
Удаляет указанное событие из дорожки.
Параметры:
event — удаляемое событие
Возвращает:
true, если событие содержалось в дорожке и было удалено; в противном случае — false

get

public MidiEvent get(int index) throws ArrayIndexOutOfBoundsException
Возвращает событие по указанному индексу.
Параметры:
index — расположение нужного события в векторе событий
Возвращает:
событие по указанному индексу
Вызывает исключение:
ArrayIndexOutOfBoundsException — если указанный индекс отрицателен или не меньше текущего размера этой дорожки
См. также:
  • size()

size

public int size()
Возвращает количество событий в этой дорожке.
Возвращает:
размер вектора событий дорожки

ticks

public long ticks()
Возвращает длину дорожки, выраженную в тиках MIDI. (Длительность тика в секундах определяется временным разрешением объекта Sequence, содержащего эту дорожку, а также темпом музыки, заданным секвенсором.)
Возвращает:
длительность в тиках
См. также:
  • Sequence(float, int)
  • Sequencer.setTempoInBPM(float)
  • Sequencer.getTickPosition()

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

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

Spec-Zone.ru

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