Класс Sequence
- java.lang.Object
-
- javax.sound.midi.Sequence
public class Sequence extends Object
Структура данных, содержащая музыкальную информацию (часто целую песню или композицию), которую может воспроизвести объект . В частности, структура содержит информацию о временных характеристиках и один или несколько треков. Каждый трек состоит из серии MIDI-событий (таких как включение/выключение ноты, изменение программы и мета-события). Временная информация последовательности указывает на тип единицы измерения времени для маркировки событий в последовательности.Sequencer
Последовательность может быть создана из MIDI-файла путем чтения файла в поток ввода и вызова одного из методов getSequence объекта MidiSystem. Последовательность также можно создать с нуля, добавив новые Tracks к пустой Sequence, и добавив объекты в эти MidiEventTracks.
- См. также:
-
Sequencer.setSequence(java.io.InputStream stream),Sequencer.setSequence(Sequence sequence),Track.add(MidiEvent),MidiFileFormat
Сводка полей
| Модификатор и тип | Поле и описание |
|---|---|
protected float |
divisionType Тип временной разметки последовательности. |
static float |
PPQ Тип временной разметки на основе темпа, для которой разрешение выражено в импульсах (тиках) на четверть ноты. |
protected int |
resolution Разрешение временной шкалы последовательности. |
static float |
SMPTE_24 Тип временной разметки на основе SMPTE со скоростью 24 кадра в секунду (разрешение выражено в тиках на кадр). |
static float |
SMPTE_25 Тип временной разметки на основе SMPTE со скоростью 25 кадров в секунду (разрешение выражено в тиках на кадр). |
static float |
SMPTE_30 Тип временной разметки на основе SMPTE со скоростью 30 кадров в секунду (разрешение выражено в тиках на кадр). |
static 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, 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.