Spec-Zone.ru › OpenJDK 25

Класс 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
Байт состояния сообщения 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()
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

Методы, объявленные в классе 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
Значение команды сообщения 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
Задаёт параметры короткого сообщения канала, содержащего не более двух байтов данных. Если сообщению требуется только один байт данных, второй байт данных игнорируется; если сообщение не содержит байтов данных, игнорируются оба байта данных.
Параметры:
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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/sound/midi/ShortMessage.html

Spec-Zone.ru

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