Spec-Zone.ru › OpenJDK 27

Класс MetaMessage

java.lang.Object
javax.sound.midi.MidiMessage
javax.sound.midi.MetaMessage
Все реализуемые интерфейсы:
Cloneable
public class MetaMessage extends MidiMessage
MetaMessage — это MidiMessage, не имеющее смысла для синтезаторов, но которое можно сохранить в MIDI-файле и интерпретировать с помощью программы-секвенсора. (См. обсуждение в описании класса MidiMessage.) Спецификация Standard MIDI Files определяет различные типы метасобытий, такие как номер последовательности, текст песни, точка метки и установка темпа. Также существуют метасобытия для такой информации, как тексты песен, авторские права, указания темпа, размеры и тональности, маркеры и т. д. Дополнительные сведения см. в спецификации Standard MIDI Files 1.0, которая входит в полную подробную спецификацию MIDI 1.0, опубликованную Ассоциацией производителей MIDI (http://www.midi.org).

При передаче данных с использованием проводного протокола MIDI значение статуса 0xFF в сообщении ShortMessage обозначает сообщение сброса системы. В MIDI-файлах это же значение статуса обозначает MetaMessage. Типы метасообщений различаются по первому байту, следующему за байтом статуса 0xFF. Последующие байты являются байтами данных. Как и в сообщениях System Exclusive, количество байтов данных не фиксировано и зависит от типа MetaMessage.

См. также:
  • MetaEventListener

Краткое описание полей

Модификатор и тип Поле Описание
static final int META
Байт статуса для MetaMessage (0xFF, или 255), используемый в MIDI-файлах.

Поля, объявленные в классе MidiMessage

data, length
Модификатор и тип Поле Описание
protected byte[] data
Данные MIDI-сообщения.
protected int length
Количество байтов в MIDI-сообщении, включая байт статуса и все байты данных.

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

MetaMessage()
MetaMessage(byte[] data)
MetaMessage(int type, byte[] data, int length)
Модификатор Конструктор Описание
Создает новый объект MetaMessage.
protected
Создает новый объект MetaMessage.
Создает новый объект MetaMessage и задает параметры сообщения.

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

Модификатор и тип Метод Описание
Object clone()
Создает новый объект того же класса с тем же содержимым, что и этот объект.
byte[] getData()
Получает копию данных метасообщения.
int getType()
Получает тип MetaMessage.
void setMessage(int type, byte[] data, int length)
Задает параметры сообщения для MetaMessage.

Методы, объявленные в классе MidiMessage

getLength, getMessage, getStatus, setMessage
Модификатор и тип Метод Описание
int getLength()
Получает общую длину MIDI-сообщения в байтах.
byte[] getMessage()
Получает данные MIDI-сообщения.
int getStatus()
Получает байт статуса MIDI-сообщения.
protected void setMessage(byte[] data, int length)
Задает данные MIDI-сообщения.

Методы, объявленные в классе Object

equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
boolean equals(Object obj)
Указывает, равен ли какой-либо другой объект этому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Метод финализации устарел и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения для Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Приостанавливает выполнение текущего потока до его пробуждения, обычно посредством вызова notify или interrupt.
final void wait(long timeoutMillis)
Приостанавливает выполнение текущего потока до его пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает выполнение текущего потока до его пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного времени.

Подробное описание полей

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-метасообщение
Появился в версии:
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

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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.

Spec-Zone.ru

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