Класс 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 Байт состояния для сообщения Active Sensing (0xFE, или 254). |
static int |
CHANNEL_PRESSURE Значение команды для сообщения канала Pressure (Aftertouch) (0xD0, или 208). |
static int |
CONTINUE Байт состояния для сообщения Continue (0xFB, или 251). |
static int |
CONTROL_CHANGE Значение команды для сообщения Control Change (0xB0, или 176). |
static int |
END_OF_EXCLUSIVE Байт состояния для сообщения End of System Exclusive (0xF7, или 247). |
static int |
MIDI_TIME_CODE Байт состояния для сообщения MIDI Time Code Quarter Frame (0xF1, или 241). |
static int |
NOTE_OFF Значение команды для сообщения Note Off (0x80, или 128). |
static int |
NOTE_ON Значение команды для сообщения Note On (0x90, или 144). |
static int |
PITCH_BEND Значение команды для сообщения Pitch Bend (0xE0, или 224). |
static int |
POLY_PRESSURE Значение команды для сообщения Polyphonic Key Pressure (Aftertouch) (0xA0, или 160). |
static int |
PROGRAM_CHANGE Значение команды для сообщения Program Change (0xC0, или 192). |
static int |
SONG_POSITION_POINTER Байт состояния для сообщения Song Position Pointer (0xF2, или 242). |
static int |
SONG_SELECT Байт состояния для сообщения MIDI Song Select (0xF3, или 243). |
static int |
START Байт состояния для сообщения Start (0xFA, или 250). |
static int |
STOP Байт состояния для сообщения Stop (0xFC, или 252). |
static int |
SYSTEM_RESET Байт состояния для сообщения System Reset (0xFF, или 255). |
static int |
TIMING_CLOCK Байт состояния для сообщения Timing Clock (0xF8, или 248). |
static int |
TUNE_REQUEST Байт состояния для сообщения 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
Командное значение для изменения управления (0xB0, или 176)
- См. также:
- Значения константных полей
PROGRAM_CHANGE
public static final int 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()
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.