jAudioFeatureExtractor.jAudioTools
Class AudioMethodsRecording.RecordThread

java.lang.Object
  extended by java.lang.Thread
      extended by jAudioFeatureExtractor.jAudioTools.AudioMethodsRecording.RecordThread
All Implemented Interfaces:
java.lang.Runnable
Enclosing class:
AudioMethodsRecording

public static class AudioMethodsRecording.RecordThread
extends java.lang.Thread

A thread for recording from a given TargetDataLine into a ByteArrayOutputStream. Can be interrupted by using the stopRecording method.

WARNING: The ByteArrayOutputStream could continue to fill up and eventually use up all available memory if the data being written to it is not dealt with. This could result in an OutOfMemory error.

WARNING:Note that the TargetDataLine is stopped and closed after recording has terminated. It will need to be re-started if it is to be used elsewhere.


Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Method Summary
 javax.sound.sampled.AudioFormat getFormatUsedForRecording()
          Returns the AudioFormat that was used for recording.
 java.io.ByteArrayOutputStream getRecordedData()
          Returns the stream of recorded data.
 void run()
          Begins recording from the TargetDataLine to the ByteArrayOutputStream.
 void stopRecording()
          Causes any recording currently in progress to end.
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

run

public void run()
Begins recording from the TargetDataLine to the ByteArrayOutputStream. Continues until the stopRecording method is called.

WARNING:Note that the TargetDataLine is stopped and closed after recording has terminated. It will need to be re-started if it is to be used elsewhere.

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread

stopRecording

public void stopRecording()
Causes any recording currently in progress to end.

WARNING:Note that the TargetDataLine is stopped after recording has terminated. It will need to be re-started if it is to be used elsewhere.


getRecordedData

public java.io.ByteArrayOutputStream getRecordedData()
Returns the stream of recorded data. Note that stream is set to null if no data has been recorded yet.


getFormatUsedForRecording

public javax.sound.sampled.AudioFormat getFormatUsedForRecording()
Returns the AudioFormat that was used for recording.