Класс SysexMessage
- Все реализованные интерфейсы:
Cloneable
public class SysexMessage extends MidiMessage
SysexMessage представляет сообщение MIDI системы эксклюзивного типа. При чтении сообщения системы эксклюзивного типа из MIDI-файла, длина сообщения всегда определена. Данные из сообщения системы эксклюзивного типа из MIDI-файла должны храниться в массиве данных объекта SysexMessage следующим образом: байт статуса сообщения системы эксклюзивного типа (0xF0 или 0xF7), все байты данных сообщения и, наконец, флаг окончания эксклюзивного сообщения (0xF7). Таким образом, длина, сообщенная объектом SysexMessage, представляет собой длину данных сообщения системы эксклюзивного типа плюс два: один байт для байта статуса и один для флага окончания эксклюзивного сообщения.
Согласно спецификации Standard MIDI Files, два значения байтов статуса допустимы для сообщения SysexMessage, считанного из MIDI-файла:
- 0xF0: Сообщение системы эксклюзивного типа (такое же, как в протоколе MIDI-провода)
- 0xF7: Специальное сообщение системы эксклюзивного типа
SysexMessages. В этом случае длина данных сообщения системы эксклюзивного типа заранее неизвестна; конец данных сообщения системы эксклюзивного типа отмечается флагом окончания эксклюзивного сообщения (0xF7) в потоке байтов протокола MIDI-провода. - 0xF0: Сообщение системы эксклюзивного типа (такое же, как в протоколе MIDI-провода)
- 0xF7: Конец эксклюзивного сообщения (EOX)
SysexMessage, содержащий данные для конкретного сообщения системы эксклюзивного типа, должен иметь значение статуса 0xF0. Если это сообщение содержит все данные сообщения системы эксклюзивного типа, оно должно завершаться байтом статуса 0xF7 (EOX). В противном случае дополнительные данные сообщения системы эксклюзивного типа должны отправляться в одном или нескольких SysexMessages со значением статуса 0xF7. Объект SysexMessage, содержащий последние данные сообщения системы эксклюзивного типа, должен завершаться значением 0xF7 (EOX) для обозначения конца сообщения системы эксклюзивного типа. Если данные системы эксклюзивного типа из объектов SysexMessages передаются с использованием протокола MIDI-провода, должны передаваться только начальный байт статуса 0xF0, сами данные сообщения системы эксклюзивного типа и конечный байт 0xF7 (EOX); любые байты статуса 0xF7, используемые для указания того, что объект SysexMessage содержит продолжающиеся данные сообщения системы эксклюзивного типа, не должны передаваться по протоколу MIDI-провода.
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
SPECIAL_SYSTEM_EXCLUSIVE |
Байт статуса для специального сообщения системы эксклюзивного типа (0xF7, или 247), используемого в MIDI-файлах. |
static final int |
SYSTEM_EXCLUSIVE |
Байт статуса для сообщения системы эксклюзивного типа (0xF0, или 240). |
Поля, объявленные в классе javax.sound.midi.MidiMessage
data, length
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
| Создаёт новый объект SysexMessage. |
||
protected |
Создаёт новый объект SysexMessage. |
|
| Создаёт новый объект SysexMessage и устанавливает данные для сообщения. |
||
| Создаёт новый объект SysexMessage и устанавливает данные для сообщения. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
clone() |
Создаёт новый объект того же класса с теми же содержимым, что и этот объект. |
byte[] |
getData() |
Получает копию данных для сообщения системы эксклюзивного типа. |
void |
setMessage |
Устанавливает данные для сообщения системы эксклюзивного типа. |
void |
setMessage |
Устанавливает данные для сообщения системы эксклюзивного типа. |
Методы, объявленные в классе javax.sound.midi.MidiMessage
getLength, getMessage, getStatus
Подробное описание полей
SYSTEM_EXCLUSIVE
public static final int SYSTEM_EXCLUSIVE
- См. также:
SPECIAL_SYSTEM_EXCLUSIVE
public static final int SPECIAL_SYSTEM_EXCLUSIVE
- См. также:
Подробное описание конструкторов
SysexMessage
public SysexMessage()
SysexMessage. Содержимое нового сообщения гарантированно указывает на допустимое MIDI-сообщение. Впоследствии вы можете установить содержимое сообщения, используя один из методов setMessage.- См. также:
SysexMessage
public SysexMessage(byte[] data, int length) throws InvalidMidiDataException
SysexMessage и устанавливает данные для сообщения. Первый байт массива данных должен быть допустимым байтом статуса системного исключения (0xF0 или 0xF7). Содержимое сообщения можно изменить, используя один из методов setMessage.- Параметры:
-
data- данные сообщения системного исключения, включая байт состояния -
length- длина допустимых данных сообщения в массиве, включая байт состояния; она должна быть неотрицательной и меньше или равнойdata.length - Исключения:
-
InvalidMidiDataException- если значения параметров не определяют допустимое MIDI-сообщение метаданных - С:
- 1.7
- См. также:
SysexMessage
public SysexMessage(int status, byte[] data, int length) throws InvalidMidiDataException
SysexMessage и устанавливает данные для сообщения. Содержимое сообщения можно изменить, используя один из методов setMessage.- Параметры:
-
status- байт состояния для сообщения; он должен быть допустимым байтом состояния системного исключения (0xF0 или 0xF7) -
data- данные сообщения системного исключения (без байта состояния) -
length- длина допустимых данных сообщения в массиве; она должна быть неотрицательной и меньше или равнойdata.length - Исключения:
-
InvalidMidiDataException- если значения параметров не определяют допустимое MIDI-сообщение системного исключения - С:
- 1.7
- См. также:
SysexMessage
protected SysexMessage(byte[] data)
SysexMessage.- Параметры:
-
data- массив байтов, содержащий полное сообщение. Данные сообщения можно изменить, используя методsetMessage. - См. также:
Подробное описание методов
setMessage
public void setMessage(byte[] data, int length) throws InvalidMidiDataException
- Переопределяет:
-
setMessageв классеMidiMessage - Параметры:
-
data- данные сообщения системного исключения -
length- длина допустимых данных сообщения в массиве, включая байт состояния - Исключения:
-
InvalidMidiDataException- если значения параметров не определяют допустимое MIDI-сообщение системного исключения
setMessage
public void setMessage(int status, byte[] data, int length) throws InvalidMidiDataException
- Параметры:
-
status- байт состояния для сообщения (0xF0 или 0xF7) -
data- данные сообщения системного исключения -
length- длина допустимых данных сообщения в массиве - Исключения:
-
InvalidMidiDataException- если байт состояния недействителен для сообщения системного исключения
getData
public byte[] getData()
- Возвращает:
- массив, содержащий данные сообщения системного исключения
clone
public Object clone()
- Определено в:
-
cloneв классеMidiMessage - Возвращает:
- клонированный экземпляр
- См. также:
© 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/sound/midi/SysexMessage.html