Spec-Zone.ru › OpenJDK 8

Класс 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, поэтому является длиной данных системного исключения плюс два: один байт для байта статуса и один для флага конца исключения.

Как предписывает спецификация Standard MIDI Files, два значения байтов статуса являются допустимыми для SysexMessage при чтении из MIDI-файла:

  • 0xF0: Сообщение системного исключения (то же, что и в MIDI-протоколе)
  • 0xF7: Специальное сообщение системного исключения

При использовании Java Sound для обработки данных системного исключения, которые принимаются с помощью MIDI-протокола, данные должны размещаться в одном или нескольких 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()

Создаёт новый объект SysexMessage.

protected SysexMessage(byte[] data)

Создаёт новый объект SysexMessage.

SysexMessage(byte[] data, int length)

Создаёт новый объект SysexMessage и устанавливает данные для сообщения.

SysexMessage(int status, byte[] data, int length)

Создаёт новый объект SysexMessage и устанавливает данные для сообщения.

Методы

Модификатор и тип Метод и описание
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).

См. также:
MidiMessage.getStatus(), Значения константных полей

SPECIAL_SYSTEM_EXCLUSIVE

public static final int SPECIAL_SYSTEM_EXCLUSIVE

Байт статуса для специального сообщения системного исключения (0xF7 или 247), используемого в MIDI-файлах. Он имеет то же значение, что и END_OF_EXCLUSIVE, используемое в реальном протоколе «MIDI-провод».

См. также:
MidiMessage.getStatus(), Значения константных полей

Подробное описание конструкторов

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 - если байт статуса недействителен для сообщения sysex

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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API