javax.sound.sampled.spi

## Class MixerProvider

- java.lang.Object
- - javax.sound.sampled.spi.MixerProvider

-     public abstract class MixerProvider
      extends Object

  A provider or factory for a particular mixer type. This mechanism allows the implementation to determine how resources are managed in creation / management of a mixer.
  Since:
    1.3

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `MixerProvider()` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract Mixer` | `getMixer(Mixer.Info info)` | Obtains an instance of the mixer represented by the info object.
    `abstract Mixer.Info[]` | `getMixerInfo()` | Obtains the set of info objects representing the mixer or mixers provided by this MixerProvider.
    `boolean` | `isMixerSupported(Mixer.Info info)` | Indicates whether the mixer provider supports the mixer represented by the specified mixer info object.

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

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

- - ### Constructor Detail

    - #### MixerProvider

          public MixerProvider()

  - ### Method Detail

    - #### isMixerSupported

          public boolean isMixerSupported(Mixer.Info info)

      Indicates whether the mixer provider supports the mixer represented by the specified mixer info object.

      The full set of mixer info objects that represent the mixers supported by this `MixerProvider` may be obtained through the `getMixerInfo` method.

      Parameters:
        `info` - an info object that describes the mixer for which support is queried
      Returns:
        `true` if the specified mixer is supported, otherwise `false`
      See Also:
        `getMixerInfo()`

    - #### getMixerInfo

          public abstract Mixer.Info[] getMixerInfo()

      Obtains the set of info objects representing the mixer or mixers provided by this MixerProvider.

      The `isMixerSupported` method returns `true` for all the info objects returned by this method. The corresponding mixer instances for the info objects are returned by the `getMixer` method.

      Returns:
        a set of mixer info objects
      See Also:
        `getMixer(Mixer.Info)`, `isMixerSupported(Mixer.Info)`

    - #### getMixer

          public abstract Mixer getMixer(Mixer.Info info)

      Obtains an instance of the mixer represented by the info object.

      The full set of the mixer info objects that represent the mixers supported by this `MixerProvider` may be obtained through the `getMixerInfo` method. Use the `isMixerSupported` method to test whether this `MixerProvider` supports a particular mixer.

      Parameters:
        `info` - an info object that describes the desired mixer
      Returns:
        mixer instance
      Throws:
        `IllegalArgumentException` - if the info object specified does not match the info object for a mixer supported by this MixerProvider.
      See Also:
        `getMixerInfo()`, `isMixerSupported(Mixer.Info)`

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.