Класс 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 выражает данные MIDI в байтах. Однако, поскольку Java использует знакомые байты, API Java Sound использует целые числа вместо байтов при выражении данных 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. |
Подробное описание полей
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
public abstract Object clone()
- Переопределяет:
-
cloneв классеObject - Возвращает:
- клон этого экземпляра
- См. также:
© 1993, 2021, 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/17/docs/api/java.desktop/javax/sound/midi/MidiMessage.html