MIDIPort
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.
Интерфейс MIDIPort в API Web MIDI представляет собой порт MIDI ввода или вывода.
Экземпляр MIDIPort создаётся при подключении нового устройства MIDI. Поэтому у него нет конструктора.
Свойства экземпляра
-
MIDIPort.idТолько для чтения -
Возвращает строку, содержащую уникальный идентификатор порта.
-
MIDIPort.manufacturerТолько для чтения -
Возвращает строку, содержащую производителя порта.
-
MIDIPort.nameТолько для чтения -
Возвращает строку, содержащую системное имя порта.
-
MIDIPort.typeТолько для чтения -
Возвращает строку, содержащую тип порта, один из:
-
MIDIPort.versionТолько для чтения -
Возвращает строку, содержащую версию порта.
-
MIDIPort.stateТолько для чтения -
Возвращает строку, содержащую состояние порта, один из:
"disconnected"-
Устройство, которое представляет этот
MIDIPort, отключено от системы. "connected"-
Устройство, которое представляет этот
MIDIPort, подключено в данный момент.
-
MIDIPort.connectionТолько для чтения -
Возвращает строку, содержащую состояние подключения порта, один из:
Методы экземпляра
Этот интерфейс также наследует методы из 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