Spec-Zone.ru › OpenJDK 21

Класс 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, содержащим этот трек, а также темпом музыки, установленным секвенсором.)
Возвращает:
длительность в тактах
См. также:
  • Sequence(float, int)
  • Sequencer.setTempoInBPM(float)
  • Sequencer.getTickPosition()

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

Spec-Zone.ru

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