Thanks to visit codestin.com
Credit goes to developer.mozilla.org

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Navigator: requestMIDIAccess() Methode

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Die requestMIDIAccess()-Methode des Navigator-Interfaces gibt ein Promise zurück, das eine Anfrage für den Zugriff auf MIDI-Geräte im System eines Benutzers darstellt. Diese Methode ist Teil der Web MIDI API, die eine Möglichkeit bietet, auf MIDI-Geräte zuzugreifen, sie aufzulisten und zu manipulieren.

Diese Methode kann den Benutzer um Zugriff auf die im System verfügbaren MIDI-Geräte bitten oder eine zuvor festgelegte Präferenz verwenden, um den Zugriff zu gewähren oder zu verweigern. Wenn die Berechtigung erteilt wird, löst das Promise auf und ein MIDIAccess-Objekt wird zurückgegeben.

Syntax

js
requestMIDIAccess()
requestMIDIAccess(MIDIOptions)

Parameter

MIDIOptions Optional

Ein Object, das Optionen darstellt, die in die Methode übergeben werden. Diese Optionen sind:

sysex

Ein Boolean-Wert, der, wenn er auf true gesetzt ist, die Möglichkeit bietet, System-Exklusivnachrichten (sysex) zu senden und zu empfangen. Der Standardwert ist false.

software

Ein Boolean-Wert, der, wenn er auf true gesetzt ist, dem System die Nutzung installierter Software-Synthesizer ermöglicht. Der Standardwert ist false.

Rückgabewert

Ein Promise, das mit einem MIDIAccess-Objekt auflöst.

Ausnahmen

AbortError DOMException

Wird ausgelöst, wenn das Dokument oder die Seite aufgrund einer Benutzernavigation geschlossen wird.

InvalidStateError DOMException

Wird ausgelöst, wenn das zugrunde liegende System Fehler meldet.

NotSupportedError DOMException

Wird ausgelöst, wenn das Feature oder die Optionen vom System nicht unterstützt werden.

NotAllowedError DOMException

Wird ausgelöst, wenn der Benutzer oder das System der Anwendung das Erstellen eines MIDIAccess-Objekts mit den angeforderten Optionen verweigert, oder wenn das Dokument nicht berechtigt ist, das Feature zu verwenden (beispielsweise wegen einer Permission Policy, oder weil der Benutzer zuvor eine Berechtigungsanfrage abgelehnt hat).

Sicherheitsanforderungen

Der Zugriff auf die API unterliegt den folgenden Einschränkungen:

  • Die Methode muss in einem sicheren Kontext aufgerufen werden.
  • Der Zugriff kann durch die midi HTTP-Permission Policy gesteuert werden.
  • Der Benutzer muss ausdrücklich die Erlaubnis zur Nutzung der API durch einen benutzerspezifischen Mechanismus gewähren oder zuvor die Erlaubnis erteilt haben. Beachten Sie, dass, wenn der Zugriff durch eine Permission Policy verweigert wird, er nicht durch eine Benutzererlaubnis gewährt werden kann.

Der Berechtigungsstatus kann mit der Permissions API-Methode navigator.permissions.query() abgefragt werden, wobei ein Berechtigungsbeschreiber mit der midi-Berechtigung und optionaler sysex-Eigenschaft übergeben wird:

js
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
});

Beispiele

MIDI-Zugriff anfordern

Im folgenden Beispiel gibt die Navigator.requestMIDIAccess()-Methode das MIDIAccess-Objekt zurück, das Zugriff auf Informationen über die Eingangs- und Ausgangs-MIDI-Ports gewährt.

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

Spezifikationen

Specification
Web MIDI API
# dom-navigator-requestmidiaccess

Browser-Kompatibilität

Siehe auch