Spec-Zone.ru › OpenJDK 8

Класс 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 в байтах. Однако, поскольку JavaTM использует знакомые байты, 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, включая байт статуса и любые байты данных.

Конструкторы

Модификатор Конструктор и описание
protected MidiMessage(byte[] data)

Создаёт новый 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, 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.

Spec-Zone.ru

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