Класс 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.
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected byte[] |
data |
Данные MIDI-сообщения. |
protected int |
length |
Количество байтов в MIDI-сообщении, включая байт состояния и байты данных. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт новый объект MidiMessage. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract Object |
clone() |
Создаёт новый объект того же класса с тем же содержимым, что и этот объект. |
int |
getLength() |
Возвращает общую длину MIDI-сообщения в байтах. |
byte[] |
getMessage() |
Возвращает данные MIDI-сообщения. |
int |
getStatus() |
Возвращает байт состояния MIDI-сообщения. |
protected void |
setMessage |
Устанавливает данные MIDI-сообщения. |
Методы, объявленные в классе Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Проверяет, равен ли другой объект этому объекту. |
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 |
Заставляет текущий поток ожидать до пробуждения, обычно в результате вызова метода notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать до пробуждения, обычно в результате вызова метода notify или interrupt, либо до истечения заданного промежутка реального времени. |
Подробное описание полей
data
protected byte[] data
- См. также:
length
protected int length
- См. также:
Подробное описание конструкторов
MidiMessage
protected MidiMessage(byte[] data)
MidiMessage. Этот защищённый конструктор вызывается конкретными подклассами, которые должны обеспечить, чтобы массив данных содержал полное и корректное MIDI-сообщение.- Параметры:
-
data— массив байтов, содержащий сообщение целиком. Данные сообщения можно изменить с помощью методаsetMessage. - См. также:
Подробное описание методов
setMessage
protected void setMessage(byte[] data, int length) throws InvalidMidiDataException
- Параметры:
-
data— байты данных MIDI-сообщения -
length— количество байтов в массиве байтов данных - Исключения:
-
InvalidMidiDataException— если значения параметров не задают корректное метасообщение MIDI
getMessage
public byte[] getMessage()
getLength().- Возвращает:
- массив байтов, содержащий данные
MidiMessageцеликом
getStatus
public int getStatus()
MidiMessage.- Возвращает:
- целочисленное представление байта состояния этого события
getLength
public int getLength()
- Возвращает:
- длина сообщения в байтах
clone
© 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.