Spec-Zone.ru › Web APIs

Navigator: метод requestMIDIAccess()

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

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

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

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

Метод requestMIDIAccess() интерфейса Navigator возвращает Promise, представляющий запрос на доступ к MIDI-устройствам на системе пользователя. Этот метод является частью API Web MIDI, который предоставляет средства для доступа, перечисления и управления MIDI-устройствами.

Этот метод может запросить у пользователя разрешение на доступ к MIDI-устройствам, доступным на его системе, или может использовать ранее установленное предпочтение для предоставления или отказа в доступе. Если разрешение предоставлено, то Promise разрешается, и возвращается объект MIDIAccess.

Синтаксис

requestMIDIAccess()
requestMIDIAccess(MIDIOptions)

Параметры

MIDIOptions Необязательно

Объект Object, представляющий параметры для передачи в метод. Эти параметры:

sysex

Значение Boolean, которое, если установлено в значение true, позволяет отправлять и получать сообщения системного исключения (sysex). Значение по умолчанию — false.

software

Значение Boolean, которое, если установлено в значение true, позволяет системе использовать любые установленные программные синтезаторы. Значение по умолчанию — false.

Возвращаемое значение

Promise, который разрешается с объектом MIDIAccess.

Исключения

AbortError DOMException

Выбрасывается, если документ или страница закрываются из-за перехода пользователя.

InvalidStateError DOMException

Выбрасывается, если основная система генерирует какие-либо ошибки.

NotSupportedError DOMException

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

SecurityError DOMException

Выбрасывается, если пользователь или система запрещают применению создание объекта MIDIAccess с запрошенными параметрами, или если документ не имеет разрешения на использование функции (например, из-за Политики разрешений, или если пользователь ранее отказал в запросе на разрешение).

Требования безопасности

Доступ к API ограничен следующими условиями:

  • Метод должен вызываться в безопасном контексте.
  • Доступ может быть ограничен midi HTTP Политики разрешений.
  • Пользователь должен явно предоставить разрешение на использование API через механизм, специфичный для браузера, или ранее предоставил разрешение. Обратите внимание, что если доступ запрещен политикой разрешений, он не может быть предоставлен разрешением пользователя.

Статус разрешения можно запросить с помощью метода API разрешений navigator.permissions.query(), передавая описатель разрешения с параметром midi и (необязательным) свойством sysex:

navigator.permissions.query({ name: "midi", sysex: true }).then((result) => {
  if (result.state === "granted") {
    // Access granted.
  } else if (result.state === "prompt") {
    // Using API will prompt for permission
  }
  // Permission was denied by user prompt or permission policy
});

Примеры

Запрос доступа к MIDI

В следующем примере метод Navigator.requestMIDIAccess() возвращает объект MIDIAccess, который предоставляет доступ к информации о входных и выходных портах MIDI.

navigator.requestMIDIAccess().then((access) => {
  // Get lists of available MIDI controllers
  const inputs = access.inputs.values();
  const outputs = access.outputs.values();
  // …
});

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

Спецификация
Web MIDI API
# dom-navigator-requestmidiaccess

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
requestMIDIAccess 43 79
108Доступ к API ограничен установкой дополнения для разрешений сайта (дополнение для разрешений сайта) (запрос у пользователя), безопасный контекст и Permission Policy: midi.
30 Нет 43 Нет 30 Нет 4.0 43
secure_context_required 43 79 108 30 Нет 43 Нет 30 Нет 4.0 43

См. также

  • Web MIDI API
  • Введение в Web MIDI

© 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/Navigator/requestMIDIAccess

Spec-Zone.ru

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