Spec-Zone.ru › Web APIs

MIDIPort

Ограниченная доступность

Эта функция не относится к Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.

Интерфейс MIDIPort в API Web MIDI представляет собой порт MIDI ввода или вывода.

Экземпляр MIDIPort создаётся при подключении нового устройства MIDI. Поэтому у него нет конструктора.

EventTarget MIDIPort

Свойства экземпляра

MIDIPort.id Только для чтения

Возвращает строку, содержащую уникальный идентификатор порта.

MIDIPort.manufacturer Только для чтения

Возвращает строку, содержащую производителя порта.

MIDIPort.name Только для чтения

Возвращает строку, содержащую системное имя порта.

MIDIPort.type Только для чтения

Возвращает строку, содержащую тип порта, один из:

"input"

Порт MIDIPort является портом ввода.

"output"

Порт MIDIPort является портом вывода.

MIDIPort.version Только для чтения

Возвращает строку, содержащую версию порта.

MIDIPort.state Только для чтения

Возвращает строку, содержащую состояние порта, один из:

"disconnected"

Устройство, которое представляет этот MIDIPort, отключено от системы.

"connected"

Устройство, которое представляет этот MIDIPort, подключено в данный момент.

MIDIPort.connection Только для чтения

Возвращает строку, содержащую состояние подключения порта, один из:

"open"

Устройство, которое представляет этот MIDIPort, открыто и доступно.

"closed"

Устройство, которое представляет этот MIDIPort, не открыто или закрыто.

"pending"

Устройство, которое представляет этот MIDIPort, было открыто, но впоследствии отключилось.

Методы экземпляра

Этот интерфейс также наследует методы из EventTarget.

MIDIPort.open()

Делает MIDI-устройство, подключенное к этому MIDIPort, явно доступным и возвращает Promise, который разрешается, когда доступ к порту будет успешным.

MIDIPort.close()

Делает MIDI-устройство, подключенное к этому MIDIPort, недоступным, изменяя state с "open" на "closed". Это возвращает Promise, который разрешается после закрытия порта.

События

statechange

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

Примеры

Список портов и их информации

В следующем примере перечисляются порты ввода и вывода, и отображается информация о них с помощью свойств MIDIPort.

function listInputsAndOutputs(midiAccess) {
  for (const entry of midiAccess.inputs) {
    const input = entry[1];
    console.log(
      `Input port [type:'${input.type}'] id:'${input.id}' manufacturer: '${input.manufacturer}' name: '${input.name}' version: '${input.version}'`,
    );
  }

  for (const entry of midiAccess.outputs) {
    const output = entry[1];
    console.log(
      `Output port [type:'${output.type}'] id: '${output.id}' manufacturer: '${output.manufacturer}' name: '${output.name}' version: '${output.version}'`,
    );
  }
}

Добавление доступных портов в список выбора

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

inputs.forEach((port, key) => {
  const opt = document.createElement("option");
  opt.text = port.name;
  document.getElementById("port-selector").add(opt);
});

Спецификации

Спецификация
API Web MIDI
# MIDIPort

Совместимость с браузерами

Десктоп Мобильный
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
MIDIPort 43 79 108 30 Нет 43 Нет 30 Нет 4.0 43
close 43 79 108 30 Нет 43 Нет 30 Нет 4.0 43
connection 43 79 108 30 Нет 43 Нет 30 Нет 4.0 43
id 43 79 108 30 Нет 43 Нет 30 Нет 4.0 43
manufacturer 43 79 108 30 Нет 43 Нет 30 Нет 4.0 43
name 43 79 108 30 Нет 43 Нет 30 Нет 4.0 43
open 43 79 108 30 Нет 43 Нет 30 Нет 4.0 43
state 43 79 108 30 Нет 43 Нет 30 Нет 4.0 43
statechange_event 43 79 108 30 Нет 43 Нет 30 Нет 4.0 43
type 43 79 108 30 Нет 43 Нет 30 Нет 4.0 43
version 43 79 108 30 Нет 43 Нет 30 Нет 4.0 43

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/MIDIPort

Spec-Zone.ru

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