Spec-Zone.ru › OpenJDK 8

Интерфейс MidiDevice

Все суперинтерфейсы:
AutoCloseable
Все известные подинтерфейсы:
Sequencer, Synthesizer

public interface MidiDevice
extends AutoCloseable

MidiDevice является базовым интерфейсом для всех устройств MIDI. Общие устройства включают синтезаторы, секвенсоры, порты ввода MIDI и порты вывода MIDI.

MidiDevice может быть передатчиком или приемником событий MIDI, или тем и другим. Поэтому он может предоставлять экземпляры Transmitter или Receiver (или оба). Обычно порты MIDI ВХОД предоставляют передатчики, порты MIDI ВЫХОД и синтезаторы предоставляют приемники. Секвенсор обычно предоставляет передатчики для воспроизведения и приемники для записи.

MidiDevice можно открывать и закрывать явно, а также неявно. Явное открытие достигается путем вызова open(), явное закрытие выполняется путем вызова close() на экземпляре MidiDevice. Если приложение явно открывает MidiDevice , оно должно закрыть его явно, чтобы освободить системные ресурсы и позволить приложению корректно завершиться. Неявное открытие выполняется путем вызова MidiSystem.getReceiver и MidiSystem.getTransmitter. MidiDevice , используемые MidiSystem.getReceiver и MidiSystem.getTransmitter , зависят от реализации, если не используются свойства javax.sound.midi.Receiver и javax.sound.midi.Transmitter (см. описание свойств для выбора поставщиков по умолчанию в MidiSystem). MidiDevice , открытый неявно, закрывается неявно при закрытии Receiver или Transmitter , которые привели к его открытию. Если приложение получило более одного неявно открытых Receiver или Transmitter , устройство закрывается после того, как последний Receiver или Transmitter был закрыт. С другой стороны, вызов getReceiver или getTransmitter для экземпляра устройства напрямую не открывает устройство неявно. Закрытие этих Transmitter и Receiver не закрывает устройство неявно. Для использования устройства с Receiver или Transmitter , полученными таким образом, устройство должно быть открыто и закрыто явно.

Если явное и неявное открытие и закрытие смешаны на одном экземпляре MidiDevice , применяются следующие правила:

  • После явного открытия (до или после неявного открытия) устройство не будет закрыто неявным закрытием. Единственный способ закрыть явно открытое устройство — явное закрытие.
  • Явное закрытие всегда закрывает устройство, даже если оно также было открыто неявно. Последующее неявное закрытие не оказывает дальнейшего влияния.
Для определения, представляет ли MidiDevice порт аппаратного MIDI, можно использовать следующий метод программирования:
MidiDevice device = ...;
 if ( ! (device instanceof Sequencer) && ! (device instanceof Synthesizer)) {
   // we're now sure that device represents a MIDI port
   // ...
 }

MidiDevice включает объект MidiDevice.Info для предоставления информации о производителе и т. д.

См. также:
Synthesizer, Sequencer, Receiver, Transmitter

Вложенные классы

Модификатор и тип Интерфейс и описание
static class  MidiDevice.Info

Объект MidiDevice.Info содержит различные данные об устройстве MidiDevice, включая его имя, компанию-производителя и описательный текст.

Методы

Модификатор и тип Метод и описание
void close()

Закрывает устройство, указывая, что устройство должно теперь освободить любые используемые им системные ресурсы.

MidiDevice.Info getDeviceInfo()

Получает информацию об устройстве, включая его класс Java и Strings , содержащий его имя, поставщика и описание.

int getMaxReceivers()

Получает максимальное количество подключений MIDI ВХОД, доступных на этом устройстве MIDI для приема данных MIDI.

int getMaxTransmitters()

Получает максимальное количество подключений MIDI ВЫХОД, доступных на этом устройстве MIDI для передачи данных MIDI.

long getMicrosecondPosition()

Получает текущую метку времени устройства в микросекундах.

Receiver getReceiver()

Получает приемник MIDI ВХОД, через который устройство MIDI может принимать данные MIDI.

List<Receiver> getReceivers()

Возвращает все активные, не закрытые приемники, подключенные к этому MidiDevice.

Transmitter getTransmitter()

Получает подключение MIDI ВЫХОД, с которого устройство MIDI будет передавать данные MIDI. Возвращаемый передатчик должен быть закрыт, когда приложение закончит его использование.

List<Transmitter> getTransmitters()

Возвращает все активные, не закрытые передатчики, подключенные к этому MidiDevice.

boolean isOpen()

Сообщает, открыто ли устройство.

void open()

Открывает устройство, указывая, что оно должно теперь получить необходимые системные ресурсы и начать работу.

Методы

getDeviceInfo

MidiDevice.Info getDeviceInfo()

Получает информацию о устройстве, включая его класс Java и Strings содержащий его имя, производителя и описание.

Возвращает:
информацию об устройстве

open

void open()
   throws MidiUnavailableException

Открывает устройство, указывая, что оно должно теперь получить все необходимые системные ресурсы и стать работоспособным.

Приложение, явно открывающее устройство с помощью этого вызова, должно закрыть устройство, вызвав close(). Это необходимо для освобождения системных ресурсов и для того, чтобы приложения могли корректно завершить работу.

Обратите внимание, что некоторые устройства, после закрытия, не могут быть повторно открыты. Попытки повторного открытия такого устройства всегда приведут к MidiUnavailableException.

Выбрасывает:
MidiUnavailableException - выбрасывается, если устройство не может быть открыто из-за ограничений ресурсов.
SecurityException - выбрасывается, если устройство не может быть открыто из-за ограничений безопасности.
См. также:
close(), isOpen()

close

void close()

Закрывает устройство, указывая, что устройство должно теперь освободить все используемые им системные ресурсы.

Все Receiver и Transmitter экземпляры, открытые из этого устройства, закрываются. Это включает в себя экземпляры, полученные через MidiSystem.

Определено в:
close в интерфейсе AutoCloseable
См. также:
open(), isOpen()

isOpen

boolean isOpen()

Сообщает, открыто ли устройство.

Возвращает:
true если устройство открыто, в противном случае false
См. также:
open(), close()

getMicrosecondPosition

long getMicrosecondPosition()

Получает текущую временную метку устройства в микросекундах. Если устройство поддерживает временные метки, оно должно начинать отсчёт с 0 при открытии устройства и продолжать увеличивать свою временную метку в микросекундах до закрытия устройства. Если оно не поддерживает временные метки, оно всегда должно возвращать -1.

Возвращает:
текущую временную метку устройства в микросекундах или -1, если устройство не поддерживает отметки времени.

getMaxReceivers

int getMaxReceivers()

Получает максимальное количество подключений MIDI ВХОД (MIDI IN) доступных на этом MIDI-устройстве для получения MIDI-данных.

Возвращает:
максимальное количество подключений MIDI ВХОД, или -1, если количество подключений не ограничено.

getMaxTransmitters

int getMaxTransmitters()

Получает максимальное количество подключений MIDI ВЫХОД (MIDI OUT) доступных на этом MIDI-устройстве для передачи MIDI-данных.

Возвращает:
максимальное количество подключений MIDI ВЫХОД, или -1, если количество подключений не ограничено.

getReceiver

Receiver getReceiver()
              throws MidiUnavailableException

Получает приемник MIDI ВХОД (MIDI IN), через который MIDI-устройство может получать MIDI-данные. Возвращаемый приемник должен быть закрыт, когда приложение закончит его использование.

Обычно возвращаемый приемник реализует интерфейс MidiDeviceReceiver.

Получение Receiver с помощью этого метода не открывает устройство. Для использования устройства, его необходимо явно открыть, вызвав open(). Кроме того, закрытие Receiver не закрывает устройство. Его необходимо закрыть явно, вызвав close().

Возвращает:
приемник для устройства.
Выбрасывает:
MidiUnavailableException - выбрасывается, если приемник недоступен из-за ограничений ресурсов
См. также:
Receiver.close()

getReceivers

List<Receiver> getReceivers()

Возвращает все активные, не закрытые приемники, подключенные к этому MidiDevice. Приемник может быть удален из устройства путём его закрытия.

Обычно возвращаемые приемники реализуют интерфейс MidiDeviceReceiver.

Возвращает:
неизменяемый список открытых приемников
С момента:
1.5

getTransmitter

Transmitter getTransmitter()
                    throws MidiUnavailableException

Получает соединение MIDI ВЫХОД (MIDI OUT), с которого MIDI-устройство будет передавать MIDI-данные. Возвращаемый передатчик должен быть закрыт, когда приложение закончит его использование.

Обычно возвращаемый передатчик реализует интерфейс MidiDeviceTransmitter.

Получение Transmitter с помощью этого метода не открывает устройство. Для использования устройства, его необходимо явно открыть, вызвав open(). Кроме того, закрытие Transmitter не закрывает устройство. Его необходимо закрыть явно, вызвав close().

Возвращает:
передатчик MIDI ВЫХОД для устройства.
Выбрасывает:
MidiUnavailableException - выбрасывается, если передатчик недоступен из-за ограничений ресурсов
См. также:
Transmitter.close()

getTransmitters

List<Transmitter> getTransmitters()

Возвращает все активные, не закрытые передатчики, подключенные к этому MidiDevice. Передатчик может быть удален из устройства путём его закрытия.

Обычно возвращаемые передатчики реализуют интерфейс MidiDeviceTransmitter.

Возвращает:
неизменяемый список открытых передатчиков
С момента:
1.5

© 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