Класс 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, 2023, 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/21/docs/api/java.desktop/javax/sound/midi/SysexMessage.html