Spec-Zone.ru › OpenJDK 24

Класс MidiMessage

java.lang.Object
javax.sound.midi.MidiMessage
Все реализованные интерфейсы:
Cloneable
Прямые известные подклассы:
MetaMessage, ShortMessage, SysexMessage
public abstract class MidiMessage extends Object implements Cloneable
MidiMessage — это базовый класс для сообщений MIDI. Он включает не только стандартные сообщения MIDI, на которые может реагировать синтезатор, но также и «метасобытия», которые могут использоваться программами секвенсоров. Существуют метасобытия для такой информации, как тексты, авторские права, указания темпа, знаки времени и тональности, маркеры и т. д. Более подробную информацию см. в спецификации Standard MIDI Files 1.0, которая является частью полной спецификации Complete MIDI 1.0 Detailed Specification, опубликованной Ассоциацией производителей MIDI (http://www.midi.org).

Базовый класс MidiMessage предоставляет доступ к трём типам информации о сообщении MIDI:

  • Байт состояния сообщения
  • Полная длина сообщения в байтах (байт состояния плюс любые байты данных)
  • Массив байтов, содержащий полное сообщение
MidiMessage содержит методы для получения, но не для установки этих значений. Установка — это ответственность подкласса.

Стандарт MIDI выражает данные MIDI в байтах. Однако, поскольку Java использует знакомые байты, API Java Sound использует целые числа вместо байтов при выражении данных MIDI. Например, метод getStatus() класса MidiMessage возвращает байты состояния MIDI как целые числа. Если вы обрабатываете данные MIDI, полученные вне Java Sound и теперь закодированные как знакомые байты, байты можно преобразовать в целые числа, используя это преобразование:

int i = (int)(byte & 0xFF)

Если вам просто нужно передать известное значение байта MIDI в качестве параметра метода, его можно выразить непосредственно как целое число, используя (например) десятичную или шестнадцатеричную запись. Например, чтобы передать байт состояния «активного зондирования» в качестве первого аргумента методу setMessage(int) класса ShortMessage, вы можете выразить его как 254 или 0xFE.

См. также:
  • Track
  • Sequence
  • Receiver

Краткое описание полей

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

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

MidiMessage(byte[] data)
Модификатор Конструктор Описание
protected
Создаёт новый MidiMessage.

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

Модификатор и тип Метод Описание
abstract Object clone()
Создаёт новый объект того же класса с тем же содержимым, что и этот объект.
int getLength()
Получает полную длину сообщения MIDI в байтах.
byte[] getMessage()
Получает данные сообщения MIDI.
int getStatus()
Получает байт состояния для сообщения MIDI.
protected void setMessage(byte[] data, int length)
Устанавливает данные для сообщения MIDI.

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

equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

data

protected byte[] data
Данные сообщения MIDI. Первый байт — байт состояния сообщения; последующие байты до длины сообщения — байты данных для этого сообщения.
См. также:
  • getLength()

length

protected int length
Количество байтов в сообщении MIDI, включая байт состояния и любые байты данных.
См. также:
  • getLength()

Подробное описание конструкторов

MidiMessage

protected MidiMessage(byte[] data)
Создаёт новый MidiMessage. Этот защищённый конструктор вызывается конкретными подклассами, которые должны убедиться, что массив данных указывает на полное, допустимое сообщение MIDI.
Параметры:
data - массив байтов, содержащий полное сообщение. Данные сообщения можно изменить с помощью метода setMessage.
См. также:
  • setMessage(byte[], int)

Подробное описание методов

setMessage

protected void setMessage(byte[] data, int length) throws InvalidMidiDataException
Устанавливает данные для сообщения MIDI. Этот защищённый метод вызывается конкретными подклассами, которые должны убедиться, что массив данных указывает на полное, допустимое сообщение MIDI.
Параметры:
data - байты данных в сообщении MIDI
length - количество байтов в массиве байтов данных
Исключения:
InvalidMidiDataException - если значения параметров не указывают на допустимое метасообщение MIDI

getMessage

public byte[] getMessage()
Получает данные сообщения MIDI. Первый байт возвращаемого массива байтов — байт состояния сообщения. Любые последующие байты до длины сообщения — байты данных. Массив байтов может иметь длину, большую, чем длина фактического сообщения; полная длина сообщения в байтах указана методом getLength().
Возвращает:
массив байтов, содержащий полные данные MidiMessage

getStatus

public int getStatus()
Получает байт состояния для сообщения MIDI. Статус «байт» представлен как целое число; см. обсуждение в разделе «целые числа против байтов» в описании класса MidiMessage.
Возвращает:
целое представление байта статуса этого события

getLength

public int getLength()
Получает общую длину сообщения MIDI в байтах. Сообщение MIDI состоит из одного байта состояния и нуля или более байтов данных. Возвращаемое значение колеблется от 1 для сообщений системного реального времени до 2 или 3 для сообщений канала до любого значения для мета- и системных эксклюзивных сообщений.
Возвращает:
длину сообщения в байтах

clone

public abstract Object clone()
Создаёт новый объект того же класса с тем же содержимым, что и этот объект.
Переопределяет:
clone в классе Object
Возвращает:
клон этого экземпляра
См. также:
  • Cloneable

© 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/MidiMessage.html

Spec-Zone.ru

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