Класс ShortMessage
- Все реализуемые интерфейсы:
Cloneable
public class ShortMessage extends MidiMessage
ShortMessage содержит MIDI-сообщение, за байтом состояния которого следуют не более двух байтов данных. Этому критерию соответствуют следующие типы MIDI-сообщений: голосовые сообщения канала, сообщения режима канала, общие системные сообщения и системные сообщения реального времени — иначе говоря, все, кроме эксклюзивных системных сообщений и метасобытий. Класс ShortMessage предоставляет методы для получения и задания содержимого MIDI-сообщения. Некоторые методы ShortMessage принимают целочисленные параметры, с помощью которых можно задать байт состояния или байт данных MIDI. Если числовое значение известно, его можно указать напрямую. Для общих системных сообщений и системных сообщений реального времени часто можно использовать соответствующие поля класса ShortMessage, например SYSTEM_RESET. Для сообщений канала старшие четыре бита байта состояния задаются значением команды, а младшие четыре бита — номером MIDI-канала. Чтобы преобразовать входящие байты данных MIDI, представленные в виде знаковых байтов Java, можно использовать код преобразования, приведённый в описании класса MidiMessage.
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
ACTIVE_SENSING |
Байт состояния сообщения Active Sensing (0xFE, или 254). |
static final int |
CHANNEL_PRESSURE |
Значение команды сообщения Channel Pressure (Aftertouch) (0xD0, или 208). |
static final int |
CONTINUE |
Байт состояния сообщения Continue (0xFB, или 251). |
static final int |
CONTROL_CHANGE |
Значение команды сообщения Control Change (0xB0, или 176). |
static final int |
END_OF_EXCLUSIVE |
Байт состояния сообщения End of System Exclusive (0xF7, или 247). |
static final int |
MIDI_TIME_CODE |
Байт состояния сообщения MIDI Time Code Quarter Frame (0xF1, или 241). |
static final int |
NOTE_OFF |
Значение команды сообщения Note Off (0x80, или 128). |
static final int |
NOTE_ON |
Значение команды сообщения Note On (0x90, или 144). |
static final int |
PITCH_BEND |
Значение команды сообщения Pitch Bend (0xE0, или 224). |
static final int |
POLY_PRESSURE |
Значение команды сообщения Polyphonic Key Pressure (Aftertouch) (0xA0, или 160). |
static final int |
PROGRAM_CHANGE |
Значение команды сообщения Program Change (0xC0, или 192). |
static final int |
SONG_POSITION_POINTER |
Байт состояния сообщения Song Position Pointer (0xF2, или 242). |
static final int |
SONG_SELECT |
Байт состояния сообщения MIDI Song Select (0xF3, или 243). |
static final int |
START |
Байт состояния сообщения Start (0xFA, или 250). |
static final int |
STOP |
Байт состояния сообщения Stop (0xFC, или 252). |
static final int |
SYSTEM_RESET |
Байт состояния сообщения System Reset (0xFF, или 255). |
static final int |
TIMING_CLOCK |
Байт состояния сообщения Timing Clock (0xF8, или 248). |
static final int |
TUNE_REQUEST |
Байт состояния сообщения Tune Request (0xF6, или 246). |
Поля, объявленные в классе MidiMessage
data, length
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
| Создаёт новый объект ShortMessage. |
||
protected |
Создаёт новый объект ShortMessage. |
|
| Создаёт новый объект ShortMessage, представляющий MIDI-сообщение, не содержащее байтов данных. |
||
| Создаёт новый объект ShortMessage, представляющий MIDI-сообщение, содержащее не более двух байтов данных. |
||
| Создаёт новый объект ShortMessage, представляющий MIDI-сообщение канала, содержащее не более двух байтов данных. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
clone() |
Создаёт новый объект того же класса с тем же содержимым, что и у этого объекта. |
int |
getChannel() |
Возвращает MIDI-канал, связанный с этим событием. |
int |
getCommand() |
Возвращает MIDI-команду, связанную с этим событием. |
int |
getData1() |
Возвращает первый байт данных сообщения. |
int |
getData2() |
Возвращает второй байт данных сообщения. |
protected final int |
getDataLength |
Возвращает количество байтов данных, соответствующее заданному значению байта состояния. |
void |
setMessage |
Задаёт параметры MIDI-сообщения, не содержащего байтов данных. |
void |
setMessage |
Задаёт параметры MIDI-сообщения, содержащего один или два байта данных. |
void |
setMessage |
Задаёт параметры короткого сообщения канала, содержащего не более двух байтов данных. |
Методы, объявленные в классе MidiMessage
getLength, getMessage, getStatus, setMessage
Подробное описание полей
MIDI_TIME_CODE
public static final int MIDI_TIME_CODE
- См. также:
SONG_POSITION_POINTER
public static final int SONG_POSITION_POINTER
- См. также:
SONG_SELECT
public static final int SONG_SELECT
- См. также:
TUNE_REQUEST
public static final int TUNE_REQUEST
- См. также:
END_OF_EXCLUSIVE
public static final int END_OF_EXCLUSIVE
- См. также:
TIMING_CLOCK
public static final int TIMING_CLOCK
- См. также:
START
public static final int START
- См. также:
CONTINUE
public static final int CONTINUE
- См. также:
STOP
public static final int STOP
- См. также:
ACTIVE_SENSING
public static final int ACTIVE_SENSING
- См. также:
SYSTEM_RESET
public static final int SYSTEM_RESET
- См. также:
NOTE_OFF
public static final int NOTE_OFF
- См. также:
NOTE_ON
public static final int NOTE_ON
- См. также:
POLY_PRESSURE
public static final int POLY_PRESSURE
- См. также:
CONTROL_CHANGE
public static final int CONTROL_CHANGE
- См. также:
PROGRAM_CHANGE
public static final int PROGRAM_CHANGE
- См. также:
CHANNEL_PRESSURE
public static final int CHANNEL_PRESSURE
- См. также:
PITCH_BEND
public static final int PITCH_BEND
- См. также:
Подробное описание конструкторов
ShortMessage
public ShortMessage()
ShortMessage. Гарантируется, что содержимое нового сообщения задаёт допустимое MIDI-сообщение. В дальнейшем содержимое сообщения можно задать с помощью одного из методов setMessage.- См. также:
ShortMessage
public ShortMessage(int status) throws InvalidMidiDataException
ShortMessage, представляющий MIDI-сообщение, не содержащее байтов данных. Содержимое сообщения можно изменить с помощью одного из методов setMessage.- Параметры:
-
status— байт состояния MIDI - Исключения:
-
InvalidMidiDataException— еслиstatusне задаёт допустимый байт состояния MIDI для сообщения, которому не требуются байты данных - Начиная с версии:
- 1.7
- См. также:
ShortMessage
public ShortMessage(int status, int data1, int data2) throws InvalidMidiDataException
ShortMessage, представляющий MIDI-сообщение, содержащее не более двух байтов данных. Если сообщению требуется только один байт данных, второй байт данных игнорируется. Если сообщение не содержит байтов данных, игнорируются оба байта данных. Содержимое сообщения можно изменить с помощью одного из методов setMessage.- Параметры:
-
status— байт состояния MIDI -
data1— первый байт данных -
data2— второй байт данных - Исключения:
-
InvalidMidiDataException— если байт состояния или все байты данных сообщения не задают допустимое MIDI-сообщение - Начиная с версии:
- 1.7
- См. также:
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
- См. также:
ShortMessage
protected ShortMessage(byte[] data)
ShortMessage.- Параметры:
-
data— массив байтов, содержащий сообщение целиком. Данные сообщения можно изменить с помощью методаsetMessage. - См. также:
Подробное описание методов
setMessage
public void setMessage(int status) throws InvalidMidiDataException
- Параметры:
-
status— байт состояния MIDI - Исключения:
-
InvalidMidiDataException— еслиstatusне задаёт допустимый байт состояния MIDI для сообщения, которому не требуются байты данных - См. также:
setMessage
public void setMessage(int status, int data1, int data2) throws InvalidMidiDataException
- Параметры:
-
status— байт состояния MIDI -
data1— первый байт данных -
data2— второй байт данных - Исключения:
-
InvalidMidiDataException— если байт состояния или все байты данных сообщения не задают допустимое MIDI-сообщение - См. также:
setMessage
public void setMessage(int command, int channel, int data1, int data2) throws InvalidMidiDataException
- Параметры:
-
command— MIDI-команда, представленная этим сообщением -
channel— канал, связанный с сообщением -
data1— первый байт данных -
data2— второй байт данных - Исключения:
-
InvalidMidiDataException— если байт состояния или все байты данных сообщения не задают допустимое MIDI-сообщение - См. также:
getChannel
public int getChannel()
- Возвращает:
- MIDI-канал, связанный с сообщением
- См. также:
getCommand
public int getCommand()
- Возвращает:
- MIDI-команду, связанную с этим событием
- См. также:
getData1
public int getData1()
- Возвращает:
- значение поля
data1 - См. также:
getData2
public int getData2()
- Возвращает:
- значение поля
data2 - См. также:
clone
public Object clone()
- Определено в:
-
cloneв классеMidiMessage - Возвращает:
- копию этого экземпляра
- См. также:
getDataLength
protected final int getDataLength(int status) throws InvalidMidiDataException
- Параметры:
-
status— значение байта состояния, которое должно представлять короткое MIDI-сообщение - Возвращает:
- длина данных в байтах (0, 1 или 2)
- Исключения:
-
InvalidMidiDataException— если аргументstatusне представляет байт состояния ни одного короткого сообщения
© 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/sound/midi/ShortMessage.html