javax.sound.sampled

Interface DataLine

All Superinterfaces:
AutoCloseable, Line
Known Subinterfaces:
Clip, SourceDataLine, TargetDataLine
Known Implementing Classes:
GstDataLine, GstSourceDataLine

public interface DataLine
extends Line

The DataLine interface adds data-related functionality to the Line interface. For example, it adds methods to start and stop the data on the line.
Since:
1.3

Nested Class Summary

class
DataLine.Info
This class extends Line.Info with information specific to DataLine.

Method Summary

int
available()
Return the number of bytes currently available on this DataLine.
void
drain()
This method blocks until whatever data is buffered in the DataLine's internal buffer has been drained.
void
flush()
This flushes the DataLine by discarding any buffered data.
int
getBufferSize()
Returns the size of the DataLine's internal buffer, in bytes.
AudioFormat
getFormat()
Return the current format of the data associated with this DataLine.
int
getFramePosition()
Return the current frame position.
float
getLevel()
Return the volume level for this DataLine.
long
getLongFramePosition()
Return the current frame position.
long
getMicrosecondPosition()
Return the number of microseconds this DataLine has been playing.
boolean
isActive()
Return true if this line is active, meaning that it is actively performing audio I/O.
boolean
isRunning()
Return true if this line is running, meaning that it has been started.
void
start()
Start processing data.
void
stop()
Stop processing data.

Methods inherited from interface java.lang.AutoCloseable

close

Methods inherited from interface javax.sound.sampled.Line

addLineListener, close, getControl, getControls, getLineInfo, isControlSupported, isOpen, open, removeLineListener

Method Details

available

public int available()
Return the number of bytes currently available on this DataLine.

drain

public void drain()
This method blocks until whatever data is buffered in the DataLine's internal buffer has been drained.

flush

public void flush()
This flushes the DataLine by discarding any buffered data.

getBufferSize

public int getBufferSize()
Returns the size of the DataLine's internal buffer, in bytes.

getFormat

public AudioFormat getFormat()
Return the current format of the data associated with this DataLine.

getFramePosition

public int getFramePosition()
Return the current frame position.

getLevel

public float getLevel()
Return the volume level for this DataLine.

getLongFramePosition

public long getLongFramePosition()
Return the current frame position.
Since:
1.5

getMicrosecondPosition

public long getMicrosecondPosition()
Return the number of microseconds this DataLine has been playing.

isActive

public boolean isActive()
Return true if this line is active, meaning that it is actively performing audio I/O.

isRunning

public boolean isRunning()
Return true if this line is running, meaning that it has been started. When the line is stopped, this method will return false.

start

public void start()
Start processing data. This will emit a START event.

stop

public void stop()
Stop processing data. This will emit a STOP event.

Copyright (C) 2005-2007 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.