MIDIPort

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.

Das MIDIPort-Interface der Web MIDI API repräsentiert einen MIDI-Eingangs- oder -Ausgangsport.

Eine MIDIPort-Instanz wird erstellt, wenn ein neues MIDI-Gerät angeschlossen wird. Daher gibt es keinen Konstruktor.

EventTarget MIDIPort

Instanz-Eigenschaften

MIDIPort.id Schreibgeschützt

Gibt einen String zurück, der die eindeutige ID des Ports enthält.

MIDIPort.hersteller Schreibgeschützt

Gibt einen String zurück, der den Hersteller des Ports enthält.

MIDIPort.name Schreibgeschützt

Gibt einen String zurück, der den Systemnamen des Ports enthält.

MIDIPort.type Schreibgeschützt

Gibt einen String zurück, der den Typ des Ports enthält, einer von:

"input"

Das MIDIPort ist ein Eingangsport.

"output"

Das MIDIPort ist ein Ausgangsport.

MIDIPort.version Schreibgeschützt

Gibt einen String zurück, der die Version des Ports enthält.

MIDIPort.status Schreibgeschützt

Gibt einen String zurück, der den Status des Ports enthält, einer von:

"disconnected"

Das Gerät, das dieses MIDIPort repräsentiert, ist vom System getrennt.

"connected"

Das Gerät, das dieses MIDIPort repräsentiert, ist derzeit verbunden.

MIDIPort.verbindung Schreibgeschützt

Gibt einen String zurück, der den Verbindungsstatus des Ports enthält, einer von:

"open"

Das Gerät, das dieses MIDIPort repräsentiert, wurde geöffnet und ist verfügbar.

"closed"

Das Gerät, das dieses MIDIPort repräsentiert, wurde nicht geöffnet oder wurde geschlossen.

"pending"

Das Gerät, das dieses MIDIPort repräsentiert, wurde geöffnet, aber dann getrennt.

Instanz-Methoden

Dieses Interface erbt auch Methoden von EventTarget.

MIDIPort.open()

Macht das mit diesem MIDIPort verbundene MIDI-Gerät explizit verfügbar, und gibt ein Promise zurück, das gelöst wird, sobald der Zugriff auf den Port erfolgreich war.

MIDIPort.close()

Macht das mit diesem MIDIPort verbundene MIDI-Gerät nicht verfügbar, indem der state von "open" auf "closed" geändert wird. Dies gibt ein Promise zurück, das gelöst wird, sobald der Port geschlossen wurde.

Ereignisse

statechange

Wird aufgerufen, wenn ein bestehender Port seinen Zustand oder seine Verbindung ändert.

Beispiele

Ports und deren Informationen auflisten

Das folgende Beispiel listet Eingangs- und Ausgangsports auf und zeigt Informationen über sie mithilfe der Eigenschaften von MIDIPort an.

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

Verfügbare Ports zu einer Auswahlliste hinzufügen

Das folgende Beispiel nimmt die Liste der Eingangsports und fügt sie einer Auswahlliste hinzu, damit ein Benutzer das gewünschte Gerät auswählen kann.

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

Spezifikationen

Specification
Web MIDI API
# MIDIPort

Browser-Kompatibilität