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 der Navigator Schnittstelle gibt ein Promise zurück, das eine Anfrage für den Zugriff auf MIDI-Geräte auf dem System eines Benutzers darstellt.
Diese Methode ist Teil der Web MIDI API, die eine Möglichkeit bietet, auf MIDI-Geräte zuzugreifen, diese aufzulisten und zu manipulieren.
Diese Methode kann den Benutzer um Zugriff auf die verfügbaren MIDI-Geräte seines Systems bitten oder eine zuvor festgelegte Präferenz verwenden, um den Zugriff zu gewähren oder zu verweigern.
Wenn die Erlaubnis erteilt wird, wird das Promise aufgelöst und ein MIDIAccess Objekt wird zurückgegeben.
Syntax
requestMIDIAccess()
requestMIDIAccess(MIDIOptions)
Parameter
MIDIOptionsOptional-
Ein
Objectmit Optionen, die in die Methode übergeben werden können. Diese Optionen sind:sysex-
Ein
BooleanWert, der, wenn er auftruegesetzt ist, die Möglichkeit bietet, System-Exklusiv-Nachrichten (sysex) zu senden und zu empfangen. Der Standardwert istfalse. software-
Ein
BooleanWert, der, wenn er auftruegesetzt ist, dem System erlaubt, installierte Software-Synthesizer zu nutzen. Der Standardwert istfalse.
Rückgabewert
Ein Promise, das mit einem MIDIAccess Objekt aufgelöst wird.
Ausnahmen
AbortErrorDOMException-
Wird ausgelöst, wenn das Dokument oder die Seite aufgrund der Navigation des Benutzers geschlossen wird.
InvalidStateErrorDOMException-
Wird ausgelöst, wenn das zugrunde liegende System irgendwelche Fehler meldet.
NotSupportedErrorDOMException-
Wird ausgelöst, wenn das Feature oder die Optionen vom System nicht unterstützt werden.
NotAllowedErrorDOMException-
Wird ausgelöst, wenn der Benutzer oder das System der Anwendung verweigert, ein MIDIAccess Objekt mit den angeforderten Optionen zu erstellen, oder wenn das Dokument das Feature nicht verwenden darf (zum Beispiel 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
midiHTTP Permission Policy gesteuert werden. - Der Benutzer muss ausdrücklich die Erlaubnis zur Nutzung der API über einen benutzerspezifischen Mechanismus erteilen oder zuvor die Erlaubnis erteilt haben. Beachten Sie, dass, wenn der Zugriff durch eine Berechtigungspolitik verweigert wird, diese nicht durch eine Benutzerberechtigung gewährt werden kann.
Der Berechtigungsstatus kann mittels der Permissions API Methode navigator.permissions.query() abgefragt werden, indem ein Berechtigungsdeskriptor mit der midi Berechtigung und (optionaler) sysex Eigenschaft übergeben wird:
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-Anschlüsse bietet.
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> |