Класс MetaMessage
- java.lang.Object
-
- javax.sound.midi.MidiMessage
-
- javax.sound.midi.MetaMessage
- Все реализованные интерфейсы:
- Cloneable
public class MetaMessage extends MidiMessage
A MetaMessage — это , не имеющий смысла для синтезаторов, но который может храниться в файле MIDI и интерпретироваться программой секвенсора. (См. обсуждение в описании класса MidiMessageMidiMessage. Спецификация Standard MIDI Files определяет различные типы мета-событий, такие как номер последовательности, текст, контрольная точка, установка темпа. Также есть мета-события для такой информации, как тексты, авторские права, указания темпа, подписи времени и тональности, метки и т. д. Более подробная информация содержится в спецификации Standard MIDI Files 1.0, которая является частью Полной подробной спецификации MIDI 1.0, опубликованной MIDI Manufacturer's Association (http://www.midi.org).
При передаче данных по протоколу MIDI wire сообщение с кодом состояния 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. Он имеет то же значение, что и 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 - С тех пор:
- 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, он не должен указываться здесь. Вызовы возвращают getStatus0xFF для всех мета-сообщений.
Аргумент 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.