MidiDeviceProvider (Java Platform SE 8 )
Keywords: javax.sound.midi.spi.MidiDeviceProvider class
Date: 2026-04-17

javax.sound.midi.spi

## Class MidiDeviceProvider

- java.lang.Object
- - javax.sound.midi.spi.MidiDeviceProvider

-     public abstract class MidiDeviceProvider
      extends Object

  A `MidiDeviceProvider` is a factory or provider for a particular type of MIDI device. This mechanism allows the implementation to determine how resources are managed in the creation and management of a device.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `MidiDeviceProvider()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract MidiDevice` | `getDevice(MidiDevice.Info info)` Obtains an instance of the device represented by the info object.
    `abstract MidiDevice.Info[]` | `getDeviceInfo()` Obtains the set of info objects representing the device or devices provided by this `MidiDeviceProvider`.
    `boolean` | `isDeviceSupported(MidiDevice.Info info)` Indicates whether the device provider supports the device represented by the specified device info object.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### MidiDeviceProvider

          public MidiDeviceProvider()

  - ### Method Detail

    - #### isDeviceSupported

          public boolean isDeviceSupported(MidiDevice.Info info)

      Indicates whether the device provider supports the device represented by the specified device info object.
      Parameters:
        `info` - an info object that describes the device for which support is queried
      Returns:
        `true` if the specified device is supported, otherwise `false`

    - #### getDeviceInfo

          public abstract MidiDevice.Info[] getDeviceInfo()

      Obtains the set of info objects representing the device or devices provided by this `MidiDeviceProvider`.
      Returns:
        set of device info objects

    - #### getDevice

          public abstract MidiDevice getDevice(MidiDevice.Info info)

      Obtains an instance of the device represented by the info object.
      Parameters:
        `info` - an info object that describes the desired device
      Returns:
        device instance
      Throws:
        `IllegalArgumentException` - if the info object specified does not match the info object for a device supported by this `MidiDeviceProvider`

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.