The MIDIPort
interface of the Web MIDI API represents a MIDI input or output port.
A MIDIPort
instance is created when a new MIDI device is connected. Therefore it has no constructor.
EventTarget
MIDIPort
This interface also inherits methods from EventTarget
.
MIDIPort.open()
Makes the MIDI device connected to this MIDIPort
explicitly available, and returns a Promise
which resolves once access to the port has been successful.
MIDIPort.close()
Makes the MIDI device connected to this MIDIPort
unavailable, changing the state
from "open"
to "closed"
. This returns a Promise
which resolves once the port has been closed.
The following example lists input and output ports, and displays information about them using properties of MIDIPort
.
function listInputsAndOutputs ( midiAccess ) {
for ( var entry of midiAccess. inputs) {
var input = entry[ 1 ] ;
console. log ( "Input port [type:'" + input. type + "'] id:'" + input. id +
"' manufacturer:'" + input. manufacturer + "' name:'" + input. name +
"' version:'" + input. version + "'" ) ;
}
for ( var entry of midiAccess. outputs) {
var output = entry[ 1 ] ;
console. log ( "Output port [type:'" + output. type + "'] id:'" + output. id +
"' manufacturer:'" + output. manufacturer + "' name:'" + output. name +
"' version:'" + output. version + "'" ) ;
}
}
The following example takes the list of input ports and adds them to a select list, in order that a user can choose the device they want to use.
inputs. forEach ( function ( port, key ) {
var opt = document. createElement ( "option" ) ;
opt. text = port. name;
document. getElementById ( "inputportselector" ) . add ( opt) ;
} ) ;