javazoom.jl.player

Class AudioDeviceBase

public abstract class AudioDeviceBase extends Object implements AudioDevice

The AudioDeviceBase class provides a simple thread-safe implementation of the AudioDevice interface. Template methods are provided for subclasses to override and in doing so provide the implementation for the main operations of the AudioDevice interface.

Since: 0.0.8

Method Summary
voidclose()
Closes this audio device.
protected voidcloseImpl()
Template method to provide the implementation for closing the audio device.
voidflush()
Waits for any buffered audio samples to be played by the audio device.
protected voidflushImpl()
Template method to provide the implementation for flushing any buffered audio data.
protected DecodergetDecoder()
Retrieves the decoder that provides audio data to this audio device.
booleanisOpen()
Determines if this audio device is open or not.
voidopen(Decoder decoder)
Opens this audio device.
protected voidopenImpl()
Template method to provide the implementation for the opening of the audio device.
protected voidsetOpen(boolean open)
Sets the open state for this audio device.
voidwrite(short[] samples, int offs, int len)
Writes audio data to this audio device.
protected voidwriteImpl(short[] samples, int offs, int len)
Template method to provide the implementation for writing audio samples to the audio device.

Method Detail

close

public void close()
Closes this audio device. If the device is currently playing audio, playback is stopped immediately without flushing any buffered audio data.

closeImpl

protected void closeImpl()
Template method to provide the implementation for closing the audio device.

flush

public void flush()
Waits for any buffered audio samples to be played by the audio device. This method should only be called prior to closing the device.

flushImpl

protected void flushImpl()
Template method to provide the implementation for flushing any buffered audio data.

getDecoder

protected Decoder getDecoder()
Retrieves the decoder that provides audio data to this audio device.

Returns: The associated decoder.

isOpen

public boolean isOpen()
Determines if this audio device is open or not.

Returns: true if the audio device is open, false if it is not.

open

public void open(Decoder decoder)
Opens this audio device.

Parameters: decoder The decoder that will provide audio data to this audio device.

openImpl

protected void openImpl()
Template method to provide the implementation for the opening of the audio device.

setOpen

protected void setOpen(boolean open)
Sets the open state for this audio device.

write

public void write(short[] samples, int offs, int len)
Writes audio data to this audio device. Audio data is assumed to be in the output format of the decoder. This method may return before the data has actually been sounded by the device if the device buffers audio samples.

Parameters: samples The samples to write to the audio device. offs The offset into the array of the first sample to write. len The number of samples from the array to write.

Throws: JavaLayerException if the audio data could not be written to the audio device. If the audio device is not open, this method does nthing.

writeImpl

protected void writeImpl(short[] samples, int offs, int len)
Template method to provide the implementation for writing audio samples to the audio device.
JavaZOOM 1999-2005