Класс ShortMessage

Все реализованные интерфейсы:
Cloneable
public class ShortMessage
extends MidiMessage

Класс ShortMessage содержит сообщение MIDI, которое имеет не более двух байтов данных, следующих за байтом состояния. Типами сообщений MIDI, которые удовлетворяют этому критерию, являются голосовые сообщения канала, сообщения режима канала, общие системные сообщения и сообщения реального времени системы — другими словами, всё, кроме системных эксклюзивных сообщений и мета-событий. Класс ShortMessage предоставляет методы для получения и установки содержимого сообщения MIDI.

Некоторые методы ShortMessage имеют целочисленные параметры, с помощью которых вы можете указать байт состояния или данные MIDI. Если вы знаете числовое значение, вы можете выразить его непосредственно. Для системных общих и системных сообщений реального времени вы часто можете использовать соответствующие поля ShortMessage, такие как SYSTEM_RESET. Для сообщений канала верхние четыре бита байта состояния задаются значением команды, а нижние четыре бита — номером канала MIDI. Чтобы преобразовать входящие байты данных MIDI, которые имеют вид подписанных байтов Java, вы можете использовать код преобразования, приведенный в разделе преобразования, в описании класса MidiMessage.

См. также:
SysexMessage, MetaMessage

Краткое описание полей

Модификатор и тип Поле Описание
static int ACTIVE_SENSING

Байт состояния сообщения Активного зондирования (0xFE, или 254).

static int CHANNEL_PRESSURE

Значение команды сообщения Давления канала (Послекасание) (0xD0, или 208).

static int CONTINUE

Байт состояния сообщения Продолжение (0xFB, или 251).

static int CONTROL_CHANGE

Значение команды сообщения Изменение управления (0xB0, или 176).

static int END_OF_EXCLUSIVE

Байт состояния сообщения Конец системного эксклюзивного сообщения (0xF7, или 247).

static int MIDI_TIME_CODE

Байт состояния сообщения Четверть кадра кода времени MIDI (0xF1, или 241).

static int NOTE_OFF

Значение команды сообщения Отключение ноты (0x80, или 128).

static int NOTE_ON

Значение команды сообщения Включение ноты (0x90, или 144).

static int PITCH_BEND

Значение команды сообщения Изменение высоты тона (0xE0, или 224).

static int POLY_PRESSURE

Значение команды сообщения Полифоническое давление клавиши (Послекасание) (0xA0, или 160).

static int PROGRAM_CHANGE

Значение команды сообщения Изменение программы (0xC0, или 192).

static int SONG_POSITION_POINTER

Байт состояния сообщения Указатель позиции песни (0xF2, или 242).

static int SONG_SELECT

Байт состояния сообщения Выбор песни MIDI (0xF3, или 243).

static int START

Байт состояния сообщения Старт (0xFA, или 250).

static int STOP

Байт состояния сообщения Стоп (0xFC, или 252).

static int SYSTEM_RESET

Байт состояния сообщения Сброс системы (0xFF, или 255).

static int TIMING_CLOCK

Байт состояния сообщения Тактовый сигнал (0xF8, или 248).

static int TUNE_REQUEST

Байт состояния сообщения Запрос настройки (0xF6, или 246).

Поля, объявленные в классе javax.sound.midi.MidiMessage

data, length

Краткое описание конструкторов

Модификатор Конструктор Описание
ShortMessage()

Создаёт новый ShortMessage.

protected ShortMessage​(byte[] data)

Создаёт новый ShortMessage.

ShortMessage​(int status)

Создаёт новый ShortMessage, который представляет сообщение MIDI, которое не требует байтов данных.

ShortMessage​(int status, int data1, int data2)

Создаёт новый ShortMessage, который представляет сообщение MIDI, которое может содержать до двух байтов данных.

ShortMessage​(int command, int channel, int data1, int data2)

Создаёт новый ShortMessage, который представляет сообщение MIDI канала, которое может содержать до двух байтов данных.

Краткое описание методов

Модификатор и тип Метод Описание
Object clone()

Создаёт новый объект того же класса и с тем же содержимым, что и этот объект.

int getChannel()

Получает MIDI-канал, связанный с этим событием.

int getCommand()

Получает MIDI-команду, связанную с этим событием.

int getData1()

Получает первый байт данных в сообщении.

int getData2()

Получает второй байт данных в сообщении.

protected int getDataLength​(int status)

Получает количество байтов данных, связанных с определённым значением байта состояния.

void setMessage​(int status)

Устанавливает параметры для сообщения MIDI, которое не требует байтов данных.

void setMessage​(int status, int data1, int data2)

Устанавливает параметры для сообщения MIDI, которое требует один или два байта данных.

void setMessage​(int command, int channel, int data1, int data2)

Устанавливает параметры короткого сообщения для сообщения канала, которое может содержать до двух байтов данных.

Методы, объявленные в классе javax.sound.midi.MidiMessage

getLength, getMessage, getStatus, setMessage

Методы, объявленные в классе java.lang.Object

equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Поля

MIDI_TIME_CODE

public static final int MIDI_TIME_CODE

Статус байт для сообщения MIDI Time Code Quarter Frame (0xF1, или 241).

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

SONG_POSITION_POINTER

public static final int SONG_POSITION_POINTER

Статус байт для сообщения Song Position Pointer (0xF2, или 242).

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

SONG_SELECT

public static final int SONG_SELECT

Статус байт для сообщения MIDI Song Select (0xF3, или 243).

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

TUNE_REQUEST

public static final int TUNE_REQUEST

Статус байт для сообщения Tune Request (0xF6, или 246).

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

END_OF_EXCLUSIVE

public static final int END_OF_EXCLUSIVE

Статус байт для сообщения End of System Exclusive (0xF7, или 247).

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

TIMING_CLOCK

public static final int TIMING_CLOCK

Статус байт для сообщения Timing Clock (0xF8, или 248).

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

START

public static final int START

Статус байт для сообщения Start (0xFA, или 250).

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

CONTINUE

public static final int CONTINUE

Статус байт для сообщения Continue (0xFB, или 251).

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

STOP

public static final int STOP

Статус байт для сообщения Stop (0xFC, или 252).

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

ACTIVE_SENSING

public static final int ACTIVE_SENSING

Статус байт для сообщения Active Sensing (0xFE, или 254).

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

SYSTEM_RESET

public static final int SYSTEM_RESET

Статус байт для сообщения System Reset (0xFF, или 255).

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

NOTE_OFF

public static final int NOTE_OFF

Значение команды для сообщения Note Off (0x80, или 128).

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

NOTE_ON

public static final int NOTE_ON

Значение команды для сообщения Note On (0x90, или 144).

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

POLY_PRESSURE

public static final int POLY_PRESSURE

Значение команды для полифонического давления клавиши (Aftertouch) сообщение (0xA0, или 160).

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

CONTROL_CHANGE

public static final int CONTROL_CHANGE

Значение команды для сообщения Control Change (0xB0, или 176).

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

PROGRAM_CHANGE

public static final int PROGRAM_CHANGE

Значение команды для сообщения Program Change (0xC0, или 192).

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

CHANNEL_PRESSURE

public static final int CHANNEL_PRESSURE

Значение команды для сообщения Channel Pressure (Aftertouch) (0xD0, или 208).

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

PITCH_BEND

public static final int PITCH_BEND

Значение команды для сообщения Pitch Bend (0xE0, или 224).

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

Конструкторы

ShortMessage

public ShortMessage()

Создаёт новый ShortMessage. Содержимое нового сообщения гарантированно определяет действительное сообщение MIDI. Впоследствии вы можете установить содержимое сообщения, используя один из setMessage методов.

См. также:
setMessage(int)

ShortMessage

public ShortMessage(int status)
             throws InvalidMidiDataException

Создаёт новый ShortMessage, который представляет сообщение MIDI, не использующее байты данных. Содержимое сообщения может быть изменено с помощью одного из setMessage методов.

Параметры:
status - байт состояния MIDI
Исключения:
InvalidMidiDataException - если status не определяет действительный байт состояния MIDI для сообщения, не требующего байтов данных
С:
1.7
См. также:
setMessage(int), setMessage(int, int, int), setMessage(int, int, int, int), MidiMessage.getStatus()

ShortMessage

public ShortMessage(int status,
                    int data1,
                    int data2)
             throws InvalidMidiDataException

Создаёт новый ShortMessage, который представляет сообщение MIDI, которое может использовать до двух байтов данных. Если сообщение использует только один байт данных, второй байт данных игнорируется. Если сообщение не использует байты данных, оба байта данных игнорируются. Содержимое сообщения можно изменить, используя один из setMessage методов.

Параметры:
status - байт состояния MIDI
data1 - первый байт данных
data2 - второй байт данных
Исключения:
InvalidMidiDataException - если байт состояния или все байты данных, относящиеся к сообщению, не определяют действительное сообщение MIDI
С:
1.7
См. также:
setMessage(int), setMessage(int, int, int), setMessage(int, int, int, int), MidiMessage.getStatus(), getData1(), getData2()

ShortMessage

public ShortMessage(int command,
                    int channel,
                    int data1,
                    int data2)
             throws InvalidMidiDataException

Создаёт новый ShortMessage, который представляет сообщение MIDI для канала, которое может использовать до двух байтов данных. Если сообщение использует только один байт данных, второй байт данных игнорируется. Если сообщение не использует байты данных, оба байта данных игнорируются. Содержимое сообщения можно изменить, используя один из setMessage методов.

Параметры:
command - команда MIDI, представленная этим сообщением
channel - канал, связанный с сообщением
data1 - первый байт данных
data2 - второй байт данных
Исключения:
InvalidMidiDataException - если значение команды, канала или все байты данных, относящиеся к сообщению, не определяют действительное сообщение MIDI
С:
1.7
См. также:
setMessage(int), setMessage(int, int, int), setMessage(int, int, int, int), getCommand(), getChannel(), getData1(), getData2()

ShortMessage

protected ShortMessage(byte[] data)

Создаёт новый ShortMessage.

Параметры:
data - массив байтов, содержащий полное сообщение. Данные сообщения могут быть изменены с помощью метода setMessage.
См. также:
setMessage(int)

Методы

setMessage

public void setMessage(int status)
                throws InvalidMidiDataException

Устанавливает параметры MIDI сообщения, не содержащего байтов данных.

Параметры:
status - байт состояния MIDI
Исключения:
InvalidMidiDataException - если status не указывает допустимый байт состояния MIDI для сообщения, не требующего байтов данных
См. также:
setMessage(int, int, int), setMessage(int, int, int, int)

setMessage

public void setMessage(int status,
                       int data1,
                       int data2)
                throws InvalidMidiDataException

Устанавливает параметры MIDI сообщения, которое содержит один или два байта данных. Если сообщение содержит только один байт данных, второй байт данных игнорируется; если сообщение не содержит байтов данных, оба байта данных игнорируются.

Параметры:
status - байт состояния MIDI
data1 - первый байт данных
data2 - второй байт данных
Исключения:
InvalidMidiDataException - если байт состояния или все байты данных, принадлежащие сообщению, не задают допустимое MIDI сообщение
См. также:
setMessage(int, int, int, int), setMessage(int)

setMessage

public void setMessage(int command,
                       int channel,
                       int data1,
                       int data2)
                throws InvalidMidiDataException

Устанавливает параметры короткого сообщения для сообщения канала, которое занимает до двух байтов данных. Если сообщение содержит только один байт данных, второй байт данных игнорируется; если сообщение не содержит байтов данных, оба байта данных игнорируются.

Параметры:
command - команда MIDI, представленная этим сообщением
channel - канал, связанный с сообщением
data1 - первый байт данных
data2 - второй байт данных
Исключения:
InvalidMidiDataException - если байт состояния или все байты данных, принадлежащие сообщению, не задают допустимое MIDI сообщение
См. также:
setMessage(int, int, int), setMessage(int), getCommand(), getChannel(), getData1(), getData2()

getChannel

public int getChannel()

Получает MIDI-канал, связанный с этим событием. Этот метод предполагает, что событие является MIDI-сообщением канала; если это не так, возвращаемое значение не будет иметь смысла.

Возвращает:
MIDI-канал, связанный с сообщением
См. также:
setMessage(int, int, int, int)

getCommand

public int getCommand()

Получает команду MIDI, связанную с этим событием. Этот метод предполагает, что событие является MIDI-сообщением канала; если это не так, возвращаемое значение не будет иметь смысла.

Возвращает:
команда MIDI, связанная с этим событием
См. также:
setMessage(int, int, int, int)

getData1

public int getData1()

Получает первый байт данных в сообщении.

Возвращает:
значение поля data1
См. также:
setMessage(int, int, int)

getData2

public int getData2()

Получает второй байт данных в сообщении.

Возвращает:
значение поля data2
См. также:
setMessage(int, int, int)

clone

public Object clone()

Создаёт новый объект того же класса с тем же содержимым, что и этот объект.

Определено в:
clone в классе MidiMessage
Возвращает:
клонированный экземпляр
См. также:
Cloneable

getDataLength

protected final int getDataLength(int status)
                           throws InvalidMidiDataException

Возвращает количество байтов данных, связанных со значением определенного байта состояния.

Параметры:
status - значение байта состояния, которое должно представлять короткое MIDI сообщение
Возвращает:
длина данных в байтах (0, 1 или 2)
Исключения:
InvalidMidiDataException - если аргумент status не представляет байт состояния для любого короткого сообщения

© 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/ShortMessage.html

Spec-Zone .ru
спецификации, руководства, описания, API