Класс 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

Байтом статуса для MetaMessage (0xFF, или 255), который используется в файлах MIDI.

Поля, объявленные в классе javax.sound.midi.MidiMessage

data, length

Краткое описание конструкторов

Модификатор Конструктор Описание
MetaMessage()

Создаёт новый MetaMessage.

protected MetaMessage​(byte[] data)

Создаёт новый MetaMessage.

MetaMessage​(int type, byte[] data, int length)

Создаёт новый MetaMessage и задаёт параметры сообщения.

Краткое описание методов

Модификатор и тип Метод Описание
Object clone()

Создаёт новый объект того же класса с теми же данными, что и этот объект.

byte[] getData()

Получает копию данных для метасообщения.

int getType()

Получает тип MetaMessage.

void setMessage​(int type, byte[] data, int length)

Задаёт параметры сообщения для MetaMessage.

Методы, объявленные в классе 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

Spec-Zone .ru
спецификации, руководства, описания, API