Spec-Zone.ru › OpenJDK 25

Класс Sequence

java.lang.Object
javax.sound.midi.Sequence
public class Sequence extends Object
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()
Возвращает массив, содержащий все дорожки этой последовательности.

Методы, объявленные в классе 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(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. Изначально эти дорожки пусты (то есть содержат только метасобытие End of Track). Дорожки можно получить для редактирования с помощью метода getTracks(). Дополнительные дорожки можно добавлять, а существующие удалять с помощью методов createTrack() и deleteTrack(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()
Создает новую, изначально пустую дорожку в составе этой последовательности. Изначально дорожка содержит метасобытие End of Track. Возвращается созданная дорожка. Все дорожки последовательности можно получить с помощью метода getTracks(). Дорожки можно удалять из последовательности с помощью метода deleteTrack(Track).
Возвращает:
созданную дорожку

deleteTrack

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

getTracks

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

getMicrosecondLength

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

getTickLength

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

getPatchList

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

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по 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/Sequence.html

Spec-Zone.ru

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