javax.sound.sampled

Interface Clip

All Superinterfaces:
AutoCloseable, DataLine, Line

public interface Clip
extends DataLine

A Clip represents some pre-loaded audio data.
Since:
1.3

Field Summary

static int
LOOP_CONTINUOUSLY
This can be passed to loop(int) to indicate that looping should be done continuously.

Method Summary

int
getFrameLength()
Return the frame length of this clip.
long
getMicrosecondLength()
Return the length of the clip in microseconds.
void
loop(int count)
Start looping the clip.
void
open(AudioFormat fmt, byte[] data, int offset, int len)
Open a clip, given an audio format and some data.
void
open(AudioInputStream ais)
Open a clip, given an audio input stream.
void
setFramePosition(int where)
Set the position to the indicated frame.
void
setLoopPoints(int begin, int end)
Set the loop begin and end points.
void
setMicrosecondPosition(long ms)
Set the position to the indicated microsecond.

Methods inherited from interface java.lang.AutoCloseable

close

Methods inherited from interface javax.sound.sampled.DataLine

available, drain, flush, getBufferSize, getFormat, getFramePosition, getLevel, getLongFramePosition, getMicrosecondPosition, isActive, isRunning, start, stop

Methods inherited from interface javax.sound.sampled.Line

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

Field Details

LOOP_CONTINUOUSLY

public static final int LOOP_CONTINUOUSLY
This can be passed to loop(int) to indicate that looping should be done continuously.
Field Value:
-1

Method Details

getFrameLength

public int getFrameLength()
Return the frame length of this clip.

getMicrosecondLength

public long getMicrosecondLength()
Return the length of the clip in microseconds.

loop

public void loop(int count)
Start looping the clip. Looping will occur count times, or, if count is LOOP_CONTINUOUSLY, will be done continuously. A count of 0 indicates that any current looping should stop.
Parameters:
count - the number of times to loop

open

public void open(AudioFormat fmt,
                 byte[] data,
                 int offset,
                 int len)
            throws LineUnavailableException
Open a clip, given an audio format and some data.
Parameters:
fmt - the format of the data
data - a byte array containing the audio data
offset - the offset of the first byte of data in the array
len - the length of the audio data in the array, in bytes
Throws:
LineUnavailableException - if the line cannot be opened
SecurityException - if the line cannot be opened for security reasons

open

public void open(AudioInputStream ais)
            throws LineUnavailableException,
                   IOException
Open a clip, given an audio input stream.
Parameters:
ais - the input stream
Throws:
LineUnavailableException - if the line cannot be opened
SecurityException - if the line cannot be opened for security reasons
IOException - if there is an I/O error while reading the stream

setFramePosition

public void setFramePosition(int where)
Set the position to the indicated frame.
Parameters:
where - new frame position

setLoopPoints

public void setLoopPoints(int begin,
                          int end)
Set the loop begin and end points. These are used by loop(int).
Parameters:
begin - the starting point
end - the ending point

setMicrosecondPosition

public void setMicrosecondPosition(long ms)
Set the position to the indicated microsecond.
Parameters:
ms - the new position in microseconds

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