Spec-Zone.ru › OpenJDK 27

Класс 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 final int ACTIVE_SENSING
Байт состояния сообщения активного зондирования (0xFE, или 254).
static final int CHANNEL_PRESSURE
Значение команды сообщения давления канала (послекасания) (0xD0, или 208).
static final int CONTINUE
Байт состояния сообщения продолжения (0xFB, или 251).
static final int CONTROL_CHANGE
Значение команды сообщения изменения контроллера (0xB0, или 176).
static final int END_OF_EXCLUSIVE
Байт состояния сообщения завершения системного эксклюзивного сообщения (0xF7, или 247).
static final int MIDI_TIME_CODE
Байт состояния сообщения четверти кадра MIDI Time Code (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
Значение команды сообщения изменения высоты тона (0xE0, или 224).
static final int POLY_PRESSURE
Значение команды сообщения полифонического давления клавиши (послекасания) (0xA0, или 160).
static final int PROGRAM_CHANGE
Значение команды сообщения смены программы (0xC0, или 192).
static final int SONG_POSITION_POINTER
Байт состояния сообщения указателя позиции в композиции (0xF2, или 242).
static final int SONG_SELECT
Байт состояния сообщения выбора композиции MIDI (0xF3, или 243).
static final int START
Байт состояния сообщения запуска (0xFA, или 250).
static final int STOP
Байт состояния сообщения остановки (0xFC, или 252).
static final int SYSTEM_RESET
Байт состояния сообщения сброса системы (0xFF, или 255).
static final int TIMING_CLOCK
Байт состояния сообщения тактового импульса (0xF8, или 248).
static final int TUNE_REQUEST
Байт состояния сообщения запроса настройки (0xF6, или 246).

Поля, объявленные в классе MidiMessage

data, length
Модификатор и тип Поле Описание
protected byte[] data
Данные MIDI-сообщения.
protected int length
Количество байтов в MIDI-сообщении, включая байт состояния и все байты данных.

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

ShortMessage()
ShortMessage(byte[] data)
ShortMessage(int status)
ShortMessage(int status, int data1, int data2)
ShortMessage(int command, int channel, int data1, int data2)
Модификатор Конструктор Описание
Создаёт новый объект 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(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)
Задаёт параметры короткого сообщения для сообщения канала, содержащего не более двух байтов данных.

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

getLength, getMessage, getStatus, setMessage
Модификатор и тип Метод Описание
int getLength()
Получает общую длину MIDI-сообщения в байтах.
byte[] getMessage()
Получает данные MIDI-сообщения.
int getStatus()
Получает байт состояния MIDI-сообщения.
protected void setMessage(byte[] data, int length)
Задаёт данные MIDI-сообщения.

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

equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
boolean equals(Object obj)
Проверяет, равен ли этот объект другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого объекта Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Приостанавливает текущий поток до его пробуждения, обычно вследствие вызова notify или interrupt.
final void wait(long timeoutMillis)
Приостанавливает текущий поток до его пробуждения, обычно вследствие вызова notify или interrupt, либо до истечения заданного времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает текущий поток до его пробуждения, обычно вследствие вызова notify или interrupt, либо до истечения заданного времени.

Подробное описание полей

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
Значение команды для сообщения Polyphonic Key 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
Задает параметры короткого MIDI-сообщения для канального сообщения, содержащего не более двух байтов данных. Если сообщению требуется только один байт данных, второй байт данных игнорируется; если сообщению не требуются байты данных, оба байта данных игнорируются.
Параметры:
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 не представляет байт состояния ни одного короткого сообщения

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, где приведены более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

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