Spec-Zone.ru › OpenJDK 24

Класс Sequence

java.lang.Object
javax.sound.midi.Sequence
public class Sequence extends Object
A Sequence — это структура данных, содержащая музыкальную информацию (часто целую песню или композицию), которую можно воспроизвести с помощью объекта Sequencer. В частности, Sequence содержит информацию о временных характеристиках и один или несколько треков. Каждый track состоит из последовательности событий MIDI (таких как включение/выключение нот, изменения программы и мета-события). Временная информация последовательности указывает тип единицы, используемой для временной маркировки событий в последовательности.

Sequence можно создать из файла MIDI, прочитав файл в поток ввода и вызвав один из getSequence методов класса MidiSystem. Также последовательность можно построить с нуля, добавив новые Tracks в пустую Sequence и добавив объекты MidiEvent в эти Tracks.

См. также:
  • Sequencer.setSequence(java.io.InputStream stream)
  • Sequencer.setSequence(Sequence sequence)
  • Track.add(MidiEvent)
  • MidiFileFormat

Краткое описание полей

Модификатор и тип Поле Описание
protected float divisionType
Тип временной разметки последовательности.
static final float PPQ
Тип временной разметки, основанный на темпе, для которого разрешение выражается в импульсах (тиктах) на четверть ноты.
protected int resolution
Разрешение временной разметки последовательности.
static final float SMPTE_24
Тип временной разметки, основанный на SMPTE с 24 кадрами в секунду (разрешение выражается в тиках на кадр).
static final float SMPTE_25
Тип временной разметки, основанный на SMPTE с 25 кадрами в секунду (разрешение выражается в тиках на кадр).
static final float SMPTE_30
Тип временной разметки, основанный на SMPTE с 30 кадрами в секунду (разрешение выражается в тиках на кадр).
static final float SMPTE_30DROP
Тип временной разметки, основанный на SMPTE с 29,97 кадрами в секунду (разрешение выражается в тиках на кадр).
protected Vector<Track> tracks
MIDI-треки в этой последовательности.

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

Конструктор Описание
Sequence(float divisionType, int resolution)
Создаёт новую последовательность MIDI с указанным типом временной разметки и разрешением.
Sequence(float divisionType, int resolution, int numTracks)
Создаёт новую последовательность MIDI с указанным типом временной разметки, разрешением и количеством треков.

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

Модификатор и тип Метод Описание
Track createTrack()
Создаёт новый, изначально пустой трек как часть этой последовательности.
boolean deleteTrack(Track track)
Удаляет указанный трек из последовательности.
float getDivisionType()
Получает тип временной разметки для этой последовательности.
long getMicrosecondLength()
Получает продолжительность этой последовательности, выраженную в микросекундах.
Patch[] getPatchList()
Получает список патчей, используемых в этой последовательности.
int getResolution()
Получает разрешение временной разметки для этой последовательности.
long getTickLength()
Получает продолжительность этой последовательности, выраженную в тиках MIDI.
Track[] getTracks()
Получает массив, содержащий все треки в этой последовательности.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание полей

PPQ

public static final float PPQ
Тип временной привязки, основанный на темпе, для которого разрешение выражается в импульсах (тиках) на четверть ноту.
См. также:
  • Sequence(float, int)
  • Значения постоянных полей

SMPTE_24

public static final float SMPTE_24
Тип временной привязки SMPTE со скоростью 24 кадра в секунду (разрешение выражается в тиках на кадр).
См. также:
  • Sequence(float, int)
  • Значения постоянных полей

SMPTE_25

public static final float SMPTE_25
Тип временной привязки SMPTE со скоростью 25 кадров в секунду (разрешение выражается в тиках на кадр).
См. также:
  • Sequence(float, int)
  • Значения постоянных полей

SMPTE_30DROP

public static final float SMPTE_30DROP
Тип временной привязки SMPTE со скоростью 29,97 кадров в секунду (разрешение выражается в тиках на кадр).
См. также:
  • Sequence(float, int)
  • Значения постоянных полей

SMPTE_30

public static final float SMPTE_30
Тип временной привязки SMPTE со скоростью 30 кадров в секунду (разрешение выражается в тиках на кадр).
См. также:
  • Sequence(float, int)
  • Значения постоянных полей

divisionType

protected float divisionType
Тип временного деления последовательности.
См. также:
  • PPQ
  • SMPTE_24
  • SMPTE_25
  • SMPTE_30DROP
  • SMPTE_30
  • getDivisionType()

resolution

protected int resolution
Разрешение временной привязки последовательности.
См. также:
  • getResolution()

tracks

protected Vector<Track> tracks
MIDI-дорожки в этой последовательности.
См. также:
  • getTracks()

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

Sequence

public Sequence(float divisionType, int resolution) throws InvalidMidiDataException
Создает новую MIDI-последовательность со указанным типом временной привязки и разрешением. Тип деления должен быть одним из известных типов временной привязки MIDI. Для временной привязки на основе темпа divisionType это PPQ (импульсы на четверть ноту), и разрешение указывается в тиках на удар. Для временной привязки SMPTE, divisionType указывает количество кадров в секунду, а разрешение указывается в тиках на кадр. Последовательность не будет содержать начальных дорожек. Дорожки могут быть добавлены или удалены из последовательности с помощью createTrack() и deleteTrack(javax.sound.midi.Track).
Параметры:
divisionType - тип временного деления (PPQ или один из типов SMPTE)
resolution - разрешение временной привязки
Исключения:
InvalidMidiDataException - если divisionType не является допустимым
См. также:
  • PPQ
  • SMPTE_24
  • SMPTE_25
  • SMPTE_30DROP
  • SMPTE_30
  • getDivisionType()
  • getResolution()
  • getTracks()

Sequence

public Sequence(float divisionType, int resolution, int numTracks) throws InvalidMidiDataException
Создает новую MIDI-последовательность со указанным типом временной привязки, разрешением и количеством дорожек. Тип деления должен быть одним из известных типов временной привязки MIDI. Для временной привязки на основе темпа divisionType это PPQ (импульсы на четверть ноту), и разрешение указывается в тиках на удар. Для временной привязки SMPTE, divisionType указывает количество кадров в секунду, а разрешение указывается в тиках на кадр. Последовательность будет инициализирована с количеством дорожек, указанным numTracks. Эти дорожки изначально пусты (т.е. содержат только мета-событие Конец дорожки). Дорожки могут быть получены для редактирования с помощью метода getTracks(). Дополнительные дорожки могут быть добавлены, или существующие дорожки удалены, с помощью createTrack() и deleteTrack(javax.sound.midi.Track).
Параметры:
divisionType - тип временного деления (PPQ или один из типов SMPTE)
resolution - разрешение временной привязки
numTracks - начальное количество дорожек в последовательности
Исключения:
InvalidMidiDataException - если divisionType не является допустимым
См. также:
  • PPQ
  • SMPTE_24
  • SMPTE_25
  • SMPTE_30DROP
  • SMPTE_30
  • getDivisionType()
  • getResolution()

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

getDivisionType

public float getDivisionType()
Получает тип временного деления для этой последовательности.
Возвращает:
тип деления (PPQ или один из типов SMPTE)
См. также:
  • PPQ
  • SMPTE_24
  • SMPTE_25
  • SMPTE_30DROP
  • SMPTE_30
  • Sequence(float, int)
  • MidiFileFormat.getDivisionType()

getResolution

public int getResolution()
Получает разрешение временной привязки для этой последовательности. Если тип деления последовательности PPQ, разрешение указано в тиках на удар. Для временной привязки SMPTE, разрешение указано в тиках на кадр.
Возвращает:
количество тиков на удар (PPQ) или на кадр (SMPTE)
См. также:
  • getDivisionType()
  • Sequence(float, int)
  • MidiFileFormat.getResolution()

createTrack

public Track createTrack()
Создает новую, изначально пустую дорожку как часть этой последовательности. Дорожка изначально содержит мета-событие Конец дорожки. Возвращает только что созданную дорожку. Все дорожки в последовательности могут быть получены с помощью getTracks(). Дорожки могут быть удалены из последовательности с помощью deleteTrack(javax.sound.midi.Track).
Возвращает:
только что созданную дорожку

deleteTrack

public boolean deleteTrack(Track track)
Удаляет указанную дорожку из последовательности.
Параметры:
track - дорожка для удаления
Возвращает:
true, если дорожка существовала и была удалена, в противном случае false
См. также:
  • createTrack()
  • getTracks()

getTracks

public Track[] getTracks()
Получает массив, содержащий все дорожки в этой последовательности. Если последовательность не содержит дорожек, возвращается массив длиной 0.
Возвращает:
массив дорожек
См. также:
  • createTrack()
  • deleteTrack(javax.sound.midi.Track)

getMicrosecondLength

public long getMicrosecondLength()
Получение длительности этой последовательности в микросекундах.
Возвращает:
длительность последовательности в микросекундах

getTickLength

public long getTickLength()
Получение длительности этой последовательности в тиках MIDI.
Возвращает:
длительность последовательности в тиках
См. также:
  • getMicrosecondLength()

getPatchList

public Patch[] getPatchList()
Получение списка паттернов, используемых в этой последовательности. Этот список паттернов можно использовать для загрузки необходимых объектов Instrument в Synthesizer.
Возвращает:
массив объектов Patch, используемых в этой последовательности
См. также:
  • Synthesizer.loadInstruments(Soundbank, Patch[])

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

Spec-Zone.ru

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