Spec-Zone.ru › OpenJDK 24

Класс Track

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

Дорожка занимает промежуточный уровень в иерархии данных, воспроизводимых 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-тиках.

Методы, объявленные в классе java.lang.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(float, int)
  • Sequencer.setTempoInBPM(float)
  • Sequencer.getTickPosition()

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

Spec-Zone.ru

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