Spec-Zone.ru › OpenJDK 24

Класс 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).

Поля, объявленные в классе javax.sound.midi.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)
Устанавливает параметры короткого сообщения для сообщения канала, которое принимает до двух байтов данных.

Методы, объявленные в классе 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
Команда для сообщения Давление на канал (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()
END_OF_DOCUMENT_MARKER

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
Устанавливает параметры сообщения ShortMessage для сообщения канала, которое может содержать до двух байтов данных. Если сообщение требует только один байт данных, второй байт игнорируется; если сообщение не требует байтов данных, оба байта игнорируются.
Параметры:
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, 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/sound/midi/ShortMessage.html

Spec-Zone.ru

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