Класс ShortMessage
- java.lang.Object
-
- javax.sound.midi.MidiMessage
-
- javax.sound.midi.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() | Создаёт новый | |
protected | ShortMessage(byte[] data) | Создаёт новый |
ShortMessage(int status) | Создаёт новый | |
ShortMessage(int status,
int data1,
int data2) | Создаёт новый | |
ShortMessage(int command,
int channel,
int data1,
int data2) | Создаёт новый |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
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