MIDIAccess
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Secure context: This feature is available only insecure contexts (HTTPS), in some or allsupporting browsers.
TheMIDIAccess interface of theWeb MIDI API provides methods for listing MIDI input and output devices, and obtaining access to those devices.
MIDIAccess is atransferable object.
In this article
Instance properties
MIDIAccess.inputsRead onlyReturns an instance of
MIDIInputMapwhich provides access to any available MIDI input ports.MIDIAccess.outputsRead onlyReturns an instance of
MIDIOutputMapwhich provides access to any available MIDI output ports.MIDIAccess.sysexEnabledRead onlyA boolean attribute indicating whether system exclusive support is enabled on the current MIDIAccess instance.
Events
statechangeCalled whenever a new MIDI port is added or an existing port changes state.
Examples
TheNavigator.requestMIDIAccess() method returns a promise that resolves with aMIDIAccess object. Information about the input and output ports is returned.
When a port changes state, information about that port is printed to the console.
navigator.requestMIDIAccess().then((access) => { // Get lists of available MIDI controllers const inputs = access.inputs.values(); const outputs = access.outputs.values(); access.onstatechange = (event) => { // Print information about the (dis)connected MIDI controller console.log(event.port.name, event.port.manufacturer, event.port.state); };});Specifications
| Specification |
|---|
| Web MIDI API> # midiaccess-interface> |