Класс MetaMessage
- java.lang.Object
-
- javax.sound.midi.MidiMessage
-
- javax.sound.midi.MetaMessage
- Все реализованные интерфейсы:
Cloneable
public class MetaMessage extends MidiMessage
A MetaMessage является MidiMessage, который не имеет смысла для синтезаторов, но может храниться в файле MIDI и интерпретироваться программой секвенсора. (См. обсуждение в описании класса MidiMessage. Спецификация Standard MIDI Files определяет различные типы метасобытий, такие как номер последовательности, текст, контрольная точка и установка темпа. Также есть метасобытия для такой информации, как тексты, авторские права, указания темпа, знаки времени и ключей, маркеры и т. д. Для получения дополнительной информации обратитесь к спецификации Standard MIDI Files 1.0, которая является частью Полной детализированной спецификации MIDI 1.0, опубликованной MIDI Manufacturer's Association (http://www.midi.org).
Когда данные передаются по протоколу MIDI, ShortMessage со значением статуса 0xFF представляет собой сообщение о сбросе системы. В файлах MIDI это же значение статуса обозначает MetaMessage. Типы метасообщений различаются по первому байту, следующему за байтом статуса 0xFF. Следующие байты являются байтами данных. Как и в сообщениях системного эксклюзива, количество байтов данных произвольное, в зависимости от типа MetaMessage.
- См. также:
MetaEventListener
Поля
| Модификатор и тип | Поле | Описание |
|---|---|---|
static int |
META |
Байтом статуса для |
Поля, объявленные в классе javax.sound.midi.MidiMessage
data, length
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
MetaMessage() |
Создаёт новый |
|
protected |
MetaMessage(byte[] data) |
Создаёт новый |
MetaMessage(int type,
byte[] data,
int length) |
Создаёт новый |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
clone() |
Создаёт новый объект того же класса с теми же данными, что и этот объект. |
byte[] |
getData() |
Получает копию данных для метасообщения. |
int |
getType() |
Получает тип |
void |
setMessage(int type,
byte[] data,
int length) |
Задаёт параметры сообщения для |
Методы, объявленные в классе javax.sound.midi.MidiMessage
getLength, getMessage, getStatus, setMessage
Методы, объявленные в классе java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Подробное описание полей
META
public static final int META
Байтом статуса для MetaMessage (0xFF, или 255), который используется в файлах MIDI. Он имеет то же значение, что и ShortMessage.SYSTEM_RESET, который используется в реальном протоколе «MIDI wire».
- См. также:
-
MidiMessage.getStatus(), Постоянные значения полей
Подробное описание конструкторов
MetaMessage
public MetaMessage()
Создаёт новый MetaMessage. Содержимое сообщения здесь не задаётся; используйте setMessage для его последующей установки.
MetaMessage
public MetaMessage(int type,
byte[] data,
int length)
throws InvalidMidiDataException
Создаёт новый MetaMessage и задаёт параметры сообщения. Содержимое сообщения можно изменить, используя метод setMessage.
- Параметры:
-
type- тип метасообщения (должен быть меньше 128) -
data- байты данных в сообщении MIDI -
length- количество байтов в массиве байтовdata; оно должно быть неотрицательным и меньше или равноdata.length - Исключения:
-
InvalidMidiDataException- если значения параметров не соответствуют допустимому метасообщению MIDI - C момента:
- 1.7
- См. также:
-
setMessage(int, byte[], int),getType(),getData()
MetaMessage
protected MetaMessage(byte[] data)
Создаёт новый MetaMessage.
- Параметры:
-
data- массив байтов, содержащий полное сообщение. Данные сообщения могут быть изменены с помощью методаsetMessage. - См. также:
setMessage(int, byte[], int)
Подробное описание методов
setMessage
public void setMessage(int type,
byte[] data,
int length)
throws InvalidMidiDataException
Задаёт параметры сообщения для MetaMessage. Так как для метасообщений разрешено только одно значение байта статуса, 0xFF, его не нужно указывать здесь. Вызовы getStatus возвращают 0xFF для всех метасообщений.
Аргумент type должен быть допустимым значением для байта, следующего за байтом статуса в MetaMessage. Аргумент data должен содержать все последующие байты MetaMessage. Другими словами, байт, определяющий тип MetaMessage не считается байтом данных.
- Параметры:
-
type- тип метасообщения (должен быть меньше 128) -
data- байты данных в сообщении MIDI -
length- количество байтов в массиве байтовdata - Исключения:
-
InvalidMidiDataException- если значения параметров не соответствуют допустимому метасообщению MIDI
getType
public int getType()
Получает тип MetaMessage.
- Возвращает:
- целое число, представляющее тип
MetaMessage
getData
public byte[] getData()
Получает копию данных для метасообщения. Возвращаемый массив байтов не включает байт статуса или данные длины сообщения. Длина данных метасообщения - это длина массива. Обратите внимание, что длина всего сообщения включает байт статуса и байт типа метасообщения, и поэтому может быть больше, чем возвращаемый массив.
- Возвращает:
- массив, содержащий данные метасообщения
- См. также:
MidiMessage.getLength()
clone
public Object clone()
Создаёт новый объект того же класса с теми же данными, что и этот объект.
- Определено в:
-
cloneв классеMidiMessage - Возвращает:
- клонированный экземпляр
- См. также:
Cloneable
© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/sound/midi/MetaMessage.html