Класс Track
- java.lang.Object
-
- javax.sound.midi.Track
public 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, содержащего этот трек, а также темпом музыки, установленным секвенсором.)
- Возвращает:
- длительность в тиках
- См. также:
-
Sequence(float, int),Sequencer.setTempoInBPM(float),Sequencer.getTickPosition()
© 1993, 2020, 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/11/docs/api/java.desktop/javax/sound/midi/Track.html