Класс SysexMessage
- java.lang.Object
- javax.sound.midi.MidiMessage
- javax.sound.midi.SysexMessage
- Все реализованные интерфейсы:
Cloneable
public class SysexMessage extends MidiMessage
Объект типа SysexMessage представляет сообщение MIDI системы исключения.
Когда сообщение системы исключения считывается из файла MIDI, у него всегда есть определённая длина. Данные из сообщения системы исключения из файла MIDI должны храниться в массиве данных объекта SysexMessage следующим образом: байт статуса сообщения системы исключения (0xF0 или 0xF7), все байты данных сообщения и, наконец, флаг конца исключения (0xF7). Длина, сообщённая объектом SysexMessage, следовательно, представляет собой длину данных системы исключения плюс два: один байт для байта статуса и один для флага конца исключения.
Как предписывает спецификация стандартных файлов MIDI, два значения байта статуса допустимы для 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 int | SPECIAL_SYSTEM_EXCLUSIVE | Байт статуса для специального сообщения системы исключения (0xF7, или 247), используемого в файлах MIDI. |
static int | SYSTEM_EXCLUSIVE | Байт статуса для сообщения системы исключения (0xF0, или 240). |
Поля, объявленные в классе javax.sound.midi.MidiMessage
data, lengthКраткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
SysexMessage() | Создаёт новый | |
protected | SysexMessage(byte[] data) | Создаёт новый |
SysexMessage(byte[] data,
int length) | Создаёт новый | |
SysexMessage(int status,
byte[] data,
int length) | Создаёт новый |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object | clone() | Создаёт новый объект того же класса с теми же данными, что и этот объект. |
byte[] | getData() | Получает копию данных для сообщения системы исключения. |
void | setMessage(byte[] data,
int length) | Задает данные для сообщения системы исключения. |
void | setMessage(int status,
byte[] data,
int length) | Задает данные для сообщения системы исключения. |
Методы, объявленные в классе javax.sound.midi.MidiMessage
getLength, getMessage, getStatusМетоды, объявленные в классе java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitПодробное описание полей
SYSTEM_EXCLUSIVE
public static final int SYSTEM_EXCLUSIVE
Байт статуса для сообщения системы исключения (0xF0, или 240).
SPECIAL_SYSTEM_EXCLUSIVE
public static final int SPECIAL_SYSTEM_EXCLUSIVE
Байт статуса для специального сообщения системы исключения (0xF7, или 247), используемого в файлах MIDI. Он имеет то же значение, что и END_OF_EXCLUSIVE, используемое в реальном протоколе «MIDI-провод».
Подробное описание конструкторов
SysexMessage
public SysexMessage()
Создаёт новый SysexMessage. Содержимое нового сообщения гарантированно указывает на допустимое сообщение MIDI. Впоследствии вы можете установить содержимое сообщения, используя один из методов setMessage.
- См. также:
setMessage(byte[], int)
SysexMessage
public SysexMessage(byte[] data,
int length)
throws InvalidMidiDataExceptionСоздаёт новый SysexMessage и задаёт данные для сообщения. Первый байт массива данных должен быть допустимым байтом статуса системы исключения (0xF0 или 0xF7). Содержимое сообщения можно изменить, используя один из методов setMessage.
- Параметры:
data- данные сообщения системы исключения, включая байт статусаlength- длина допустимых данных сообщения в массиве, включая байт статуса; она должна быть неотрицательной и меньше или равнойdata.length- Исключения:
InvalidMidiDataException- если значения параметров не указывают на допустимое сообщение MIDI метаданных- С момента:
- 1.7
- См. также:
setMessage(byte[], int),setMessage(int, byte[], int),getData()
SysexMessage
public SysexMessage(int status,
byte[] data,
int length)
throws InvalidMidiDataExceptionСоздаёт новый SysexMessage и задаёт данные для сообщения. Содержимое сообщения можно изменить, используя один из методов setMessage.
- Параметры:
status- байт статуса для сообщения; он должен быть допустимым байтом статуса системы исключения (0xF0 или 0xF7)data- данные сообщения системы исключения (без байта статуса)length- длина допустимых данных сообщения в массиве; она должна быть неотрицательной и меньше или равнойdata.length- Исключения:
InvalidMidiDataException- если значения параметров не указывают на допустимое сообщение MIDI системы исключения- С момента:
- 1.7
- См. также:
setMessage(byte[], int),setMessage(int, byte[], int),getData()
SysexMessage
protected SysexMessage(byte[] data)
Создаёт новый SysexMessage.
- Параметры:
data- массив байтов, содержащих полное сообщение. Данные сообщения можно изменить, используя методsetMessage.- См. также:
setMessage(byte[], int)
Подробное описание методов
setMessage
public void setMessage(byte[] data,
int length)
throws InvalidMidiDataExceptionЗадает данные для сообщения системы исключения. Первый байт массива данных должен быть допустимым байтом статуса системы исключения (0xF0 или 0xF7).
- Переопределяет:
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- Возвращает:
- клонированный экземпляр
- См. также:
Cloneable
© 1993, 2020, 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/11/docs/api/java.desktop/javax/sound/midi/SysexMessage.html