Spec-Zone.ru › OpenJDK 25

Класс 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 (MIDI Manufacturer's Association) (http://www.midi.org).

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

См. также:
  • MetaEventListener

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

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

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

data, length

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

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

Методы, объявленные в классе 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-метасообщение
С версии:
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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/sound/midi/MetaMessage.html

Spec-Zone.ru

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