hmi.elckerlyc.audioengine
Class WavClipUnit

java.lang.Object
  extended by hmi.elckerlyc.audioengine.WavClipUnit
All Implemented Interfaces:
WavUnit

public class WavClipUnit
extends Object
implements WavUnit

Plays a wav file

Author:
welberge

Field Summary
private static int AUDIO_READ_BUFFER_SIZE
           
private  byte[] audioData
           
private  AudioFormat audioFormat
           
private  long audioFrameLength
           
private  long audioLength
           
private static double AUDIOPOSITION_UPDATE_DELTA
           
private  int audioReadPos
           
private  AudioInputStream audioStream
           
private  Object clipLock
           
private  boolean firstPlay
           
private static org.slf4j.Logger logger
           
private  Clip outputLine
           
 boolean playing
           
 boolean stop
           
private  boolean syncAudio
           
 
Constructor Summary
WavClipUnit(URL url)
           
 
Method Summary
 double getDuration()
           
 void play(double relTime)
          Play
 void reset()
           
 void setParameterValue(String parameter, float value)
           
 void setParameterValue(String parameter, String value)
           
 void setPlaying(boolean play)
           
 void stop()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

audioStream

private final AudioInputStream audioStream

audioFormat

private final AudioFormat audioFormat

audioLength

private final long audioLength

audioFrameLength

private final long audioFrameLength

audioReadPos

private int audioReadPos

audioData

private byte[] audioData

AUDIO_READ_BUFFER_SIZE

private static final int AUDIO_READ_BUFFER_SIZE
See Also:
Constant Field Values

AUDIOPOSITION_UPDATE_DELTA

private static final double AUDIOPOSITION_UPDATE_DELTA
See Also:
Constant Field Values

outputLine

private Clip outputLine

clipLock

private final Object clipLock

playing

public volatile boolean playing

stop

public volatile boolean stop

firstPlay

private boolean firstPlay

syncAudio

private final boolean syncAudio
See Also:
Constant Field Values

logger

private static org.slf4j.Logger logger
Constructor Detail

WavClipUnit

public WavClipUnit(URL url)
            throws WavUnitPlanningException
Throws:
WavUnitPlanningException
Method Detail

getDuration

public double getDuration()

setParameterValue

public void setParameterValue(String parameter,
                              float value)
Specified by:
setParameterValue in interface WavUnit

setParameterValue

public void setParameterValue(String parameter,
                              String value)

setPlaying

public void setPlaying(boolean play)
Specified by:
setPlaying in interface WavUnit

reset

public void reset()
Specified by:
reset in interface WavUnit

stop

public void stop()
Specified by:
stop in interface WavUnit

play

public void play(double relTime)
          throws WavUnitPlayException
Play

Specified by:
play in interface WavUnit
Parameters:
relTime - relative to start of WavUnit
Throws:
WavUnitPlayException