dom / latest / midiaccess.html /

MIDIAccess

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The MIDIAccess interface of the Web MIDI API provides methods for listing MIDI input and output devices, and obtaining access to those devices.

EventTarget MIDIAccess

Properties

MIDIAccess.inputs Read only

Returns an instance of MIDIInputMap which provides access to any available MIDI input ports.

MIDIAccess.outputs Read only

Returns an instance of MIDIOutputMap which provides access to any available MIDI output ports.

MIDIAccess.sysexEnabled Read only

A boolean attribute indicating whether system exclusive support is enabled on the current MIDIAccess instance.

Events

MIDIAccess.statechange_event

Called whenever a new MIDI port is added or an existing port changes state.

Examples

The Navigator.requestMIDIAccess() method returns a promise that resolves with a MIDIAccess 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(function(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

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
MIDIAccess
43
79
100
97-100
No
30
No
43
43
No
30
No
4.0
inputs
43
79
100
97-100
No
30
No
43
43
No
30
No
4.0
outputs
43
79
100
97-100
No
30
No
43
43
No
30
No
4.0
statechange_event
43
79
100
97-100
No
30
No
43
43
No
30
No
4.0
sysexEnabled
45
79
100
97-100
No
32
No
45
45
No
32
No
5.0

© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/MIDIAccess