Port (Java SE 26 & JDK 26)
Description: declaration: module: java.desktop, package: javax.sound.sampled, interface: Port
Keywords: javax.sound.sampled.Port interface

# Interface Port

All Superinterfaces:
  `AutoCloseable, Line`

public interface Port extends Line
Ports are simple lines for input or output of audio to or from audio devices. Common examples of ports that act as source lines (mixer inputs) include the microphone, line input, and CD-ROM drive. Ports that act as target lines (mixer outputs) include the speaker, headphone, and line output. You can access port using a `Port.Info` object.

Since:
  1.3

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static class`
  `Port.Info`
  The `Port.Info` class extends `Line.Info` with additional information specific to ports, including the port's name and whether it is a source or a target for its mixer.

- ## Method Summary

  ### Methods declared in interface Line

  `addLineListener, close, getControl, getControls, getLineInfo, isControlSupported, isOpen, open, removeLineListener`
  Modifier and Type
  Method
  Description
  `void`
  `addLineListener(LineListener listener)`
  Adds a listener to this line.
  `void`
  `close()`
  Closes the line, indicating that any system resources in use by the line can be released.
  `Control`
  `getControl(Control.Type control)`
  Obtains a control of the specified type, if there is any.
  `Control[]`
  `getControls()`
  Obtains the set of controls associated with this line.
  `Line.Info`
  `getLineInfo()`
  Obtains the `Line.Info` object describing this line.
  `boolean`
  `isControlSupported(Control.Type control)`
  Indicates whether the line supports a control of the specified type.
  `boolean`
  `isOpen()`
  Indicates whether the line is open, meaning that it has reserved system resources and is operational, although it might not currently be playing or capturing sound.
  `void`
  `open()`
  Opens the line, indicating that it should acquire any required system resources and become operational.
  `void`
  `removeLineListener(LineListener listener)`
  Removes the specified listener from this line's list of listeners.