Spec-Zone.ru › OpenJDK 25

Класс Track

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

Объект 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

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

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, 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/Track.html

Spec-Zone.ru

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