javax.sound.sampled

Interface Line

All Superinterfaces:
AutoCloseable
Known Subinterfaces:
Clip, DataLine, Mixer, Port, SourceDataLine, TargetDataLine
Known Implementing Classes:
GstDataLine, GstSourceDataLine, GStreamerMixer

public interface Line
extends AutoCloseable

A Line represents a single input or output audio line.
Since:
1.3

Nested Class Summary

class
Line.Info
An object of this type holds information about a Line.

Method Summary

void
addLineListener(LineListener listener)
Add a listener which will be notified whenever this Line changes state.
void
close()
Close this line.
Control
getControl(Control.Type what)
Return the control associated with this Line that matches the argument.
Control[]
getControls()
Return an array of controls associated with this Line.
Line.Info
getLineInfo()
Return the Info object associated with this Line.
boolean
isControlSupported(Control.Type what)
Return true if a Control matching the argument is available for this Line, false otherwise.
boolean
isOpen()
Return true if this line is open, false otherwise.
void
open()
Open this line.
void
removeLineListener(LineListener listener)
Remove the listener from this Line; after this call the listener will no longer be notified when this Line changes state.

Methods inherited from interface java.lang.AutoCloseable

close

Method Details

addLineListener

public void addLineListener(LineListener listener)
Add a listener which will be notified whenever this Line changes state.
Parameters:
listener - the listener to notify

close

public void close()
Close this line.
Specified by:
close in interface AutoCloseable

getControl

public Control getControl(Control.Type what)
Return the control associated with this Line that matches the argument.
Parameters:
what - the type of the control to match
Returns:
the associated control
Throws:
IllegalArgumentException - if a control of this type is not available for this line

getControls

public Control[] getControls()
Return an array of controls associated with this Line. Note that this method will not return null -- if there are no controls, it will return a zero-length array.

getLineInfo

public Line.Info getLineInfo()
Return the Info object associated with this Line.

isControlSupported

public boolean isControlSupported(Control.Type what)
Return true if a Control matching the argument is available for this Line, false otherwise.
Parameters:
what - the type of the control to match

isOpen

public boolean isOpen()
Return true if this line is open, false otherwise.

open

public void open()
            throws LineUnavailableException
Open this line.
Throws:
LineUnavailableException - if the line is unavailable for some reason

removeLineListener

public void removeLineListener(LineListener listener)
Remove the listener from this Line; after this call the listener will no longer be notified when this Line changes state.
Parameters:
listener - the listener to remove

An input or output line Copyright (C) 2005, 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.