Spec-Zone.ru › OpenJDK 21

Класс Sequence

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

A 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. Для временной привязки, основанной на темпе, используется значение PPQ (импульсы на четверть ноты), а разрешение задается в тиках на такт. Для временной привязки SMTPE, указывает количество кадров в секунду, а разрешение задается в тиках на кадр. Последовательность не будет содержать начальных треков. Треки можно добавлять или удалять из последовательности с помощью 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. Для временной привязки, основанной на темпе, используется значение PPQ (импульсы на четверть ноты), а разрешение задается в тиках на такт. Для временной привязки SMTPE, указывает количество кадров в секунду, а разрешение задается в тиках на кадр. Последовательность будет инициализирована указанным количеством треков. Эти треки изначально пусты (т.е. содержат только мета-событие Конец трека). Треки могут быть получены для редактирования с помощью метода 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, разрешение задается в тиках на такт. Для временной привязки SMTPE разрешение задается в тиках на кадр.
Возвращает:
количество тиков на такт (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, 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/Sequence.html

Spec-Zone.ru

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