Spec-Zone.ru › OpenJDK 25

Класс 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, входящей в полную подробную спецификацию MIDI 1.0, опубликованную Ассоциацией производителей MIDI (http://www.midi.org).

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

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

Стандарт MIDI представляет данные MIDI в виде байтов. Однако, поскольку в Java используются знаковые байты, Java Sound API использует для представления данных 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-сообщения.

Методы, объявленные в классе 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

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по 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/MidiMessage.html

Spec-Zone.ru

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