Spec-Zone.ru › OpenJDK 27

Класс MidiMessage

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

Базовый класс MidiMessage предоставляет доступ к трём видам сведений о MIDI-сообщении:

  • Байт состояния сообщения
  • Общая длина сообщения в байтах (байт состояния плюс байты данных, если они есть)
  • Массив байтов, содержащий сообщение целиком
MidiMessage содержит методы для получения этих значений, но не для их установки. Установка значений — задача подклассов.

В стандарте MIDI данные представлены в байтах. Однако, поскольку Java использует знаковые байты, Java Sound API использует целые числа вместо байтов для представления данных MIDI. Например, метод getStatus() класса MidiMessage возвращает байты состояния MIDI в виде целых чисел. Если вы обрабатываете данные MIDI, поступившие извне Java Sound и представленные знаковыми байтами, их можно преобразовать в целые числа следующим образом:

int i = (int)(byte & 0xFF)

Если нужно просто передать известное значение байта MIDI в качестве параметра метода, его можно непосредственно указать как целое число, например в десятичной или шестнадцатеричной системе счисления. Так, чтобы передать байт состояния «активное зондирование» в качестве первого аргумента метода setMessage(int) класса ShortMessage, можно указать значение 254 или 0xFE.

См. также:
  • Track
  • Sequence
  • Receiver

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

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

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

MidiMessage(byte[] data)
Модификатор Конструктор Описание
protected
Создаёт новый объект MidiMessage.

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

Модификатор и тип Метод Описание
abstract Object clone()
Создаёт новый объект того же класса с тем же содержимым, что и этот объект.
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, либо до истечения заданного промежутка реального времени.

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

data

protected byte[] data
Данные MIDI-сообщения. Первый байт — это байт состояния сообщения; последующие байты вплоть до длины сообщения являются байтами данных этого сообщения.
См. также:
  • getLength()

length

protected int length
Количество байтов в MIDI-сообщении, включая байт состояния и байты данных.
См. также:
  • getLength()

Подробное описание конструкторов

MidiMessage

protected MidiMessage(byte[] data)
Создаёт новый объект MidiMessage. Этот защищённый конструктор вызывается конкретными подклассами, которые должны обеспечить, чтобы массив данных содержал полное и корректное MIDI-сообщение.
Параметры:
data — массив байтов, содержащий сообщение целиком. Данные сообщения можно изменить с помощью метода setMessage.
См. также:
  • setMessage(byte[], int)

Подробное описание методов

setMessage

protected void setMessage(byte[] data, int length) throws InvalidMidiDataException
Устанавливает данные MIDI-сообщения. Этот защищённый метод вызывается конкретными подклассами, которые должны обеспечить, чтобы массив данных содержал полное и корректное MIDI-сообщение.
Параметры:
data — байты данных MIDI-сообщения
length — количество байтов в массиве байтов данных
Исключения:
InvalidMidiDataException — если значения параметров не задают корректное метасообщение MIDI

getMessage

public byte[] getMessage()
Возвращает данные MIDI-сообщения. Первый байт возвращаемого массива байтов — это байт состояния сообщения. Все последующие байты вплоть до длины сообщения являются байтами данных. Длина массива байтов может превышать фактическую длину сообщения; общая длина сообщения в байтах возвращается методом getLength().
Возвращает:
массив байтов, содержащий данные MidiMessage целиком

getStatus

public int getStatus()
Возвращает байт состояния MIDI-сообщения. «Байт» состояния представлен в виде целого числа; см. обсуждение в описании класса MidiMessage.
Возвращает:
целочисленное представление байта состояния этого события

getLength

public int getLength()
Возвращает общую длину MIDI-сообщения в байтах. MIDI-сообщение состоит из одного байта состояния и нуля или более байтов данных. Возвращаемое значение может быть равно 1 для системных сообщений реального времени, 2 или 3 для сообщений канала либо любому значению для метасообщений и эксклюзивных системных сообщений.
Возвращает:
длина сообщения в байтах

clone

public abstract Object clone()
Создаёт новый объект того же класса с тем же содержимым, что и этот объект.
Переопределяет:
clone в классе Object
Возвращает:
клонированный экземпляр этого объекта
См. также:
  • 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