Line.Info (Java Platform SE 8 )
Keywords: javax.sound.sampled.Line.Info class
Date: 2026-04-17

javax.sound.sampled

## Class Line.Info

- java.lang.Object
- - javax.sound.sampled.Line.Info

- Direct Known Subclasses:
    DataLine.Info, Port.Info
  Enclosing interface:
    Line

      public static class Line.Info
      extends Object

  A `Line.Info` object contains information about a line. The only information provided by `Line.Info` itself is the Java class of the line. A subclass of `Line.Info` adds other kinds of information about the line. This additional information depends on which `Line` subinterface is implemented by the kind of line that the `Line.Info` subclass describes.

  A `Line.Info` can be retrieved using various methods of the `Line`, `Mixer`, and `AudioSystem` interfaces. Other such methods let you pass a `Line.Info` as an argument, to learn whether lines matching the specified configuration are available and to obtain them.

  Since:
    1.3
  See Also:
    `Line.getLineInfo()`, `Mixer.getSourceLineInfo()`, `Mixer.getTargetLineInfo()`, ``Mixer.getLine(Line.Info)``, ``Mixer.getSourceLineInfo(Line.Info)``, ``Mixer.getTargetLineInfo(Line.Info)``, ``Mixer.isLineSupported(Line.Info)``, ``AudioSystem.getLine(Line.Info)``, ``AudioSystem.getSourceLineInfo(Line.Info)``, ``AudioSystem.getTargetLineInfo(Line.Info)``, ``AudioSystem.isLineSupported(Line.Info)``

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Info(Class<?> lineClass)` Constructs an info object that describes a line of the specified class.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Class<?>` | `getLineClass()` Obtains the class of the line that this Line.Info object describes.
    `boolean` | `matches(Line.Info info)` Indicates whether the specified info object matches this one.
    `String` | `toString()` Obtains a textual description of the line info.

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

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

- - ### Constructor Detail

    - #### Info

          public Info(Class<?> lineClass)

      Constructs an info object that describes a line of the specified class. This constructor is typically used by an application to describe a desired line.
      Parameters:
        `lineClass` - the class of the line that the new Line.Info object describes

  - ### Method Detail

    - #### getLineClass

          public Class<?> getLineClass()

      Obtains the class of the line that this Line.Info object describes.
      Returns:
        the described line's class

    - #### matches

          public boolean matches(Line.Info info)

      Indicates whether the specified info object matches this one. To match, the specified object must be identical to or a special case of this one. The specified info object must be either an instance of the same class as this one, or an instance of a sub-type of this one. In addition, the attributes of the specified object must be compatible with the capabilities of this one. Specifically, the routing configuration for the specified info object must be compatible with that of this one. Subclasses may add other criteria to determine whether the two objects match.
      Parameters:
        `info` - the info object which is being compared to this one
      Returns:
        `true` if the specified object matches this one, `false` otherwise

    - #### toString

          public String toString()

      Obtains a textual description of the line info.
      Overrides:
        `toString` in class `Object`
      Returns:
        a string description

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.