# HG changeset patch # User Robert McIntyre # Date 1319995029 25200 # Node ID b67ffa8aa0b953ecfe54497540a36571a2370ae3 # Parent be37291c62b8cf03bf565a32b7907a02b8269c41 fixed click problem diff -r be37291c62b8 -r b67ffa8aa0b9 src/com/aurellem/capture/audio/WaveFileWriter.java --- a/src/com/aurellem/capture/audio/WaveFileWriter.java Sun Oct 30 10:11:21 2011 -0700 +++ b/src/com/aurellem/capture/audio/WaveFileWriter.java Sun Oct 30 10:17:09 2011 -0700 @@ -17,12 +17,31 @@ public File targetFile; private WaveAudioOutputStream wao; + private TDataOutputStream tos; + private boolean initialized = false; + + public WaveFileWriter(File targetFile) throws FileNotFoundException{ + tos = new TNonSeekableDataOutputStream( + new FileOutputStream(targetFile)); + - public WaveFileWriter(File targetFile) throws FileNotFoundException{ - wao = new WaveAudioOutputStream(new AudioFormat(44100.0f, 32, 1, true, false), - AudioSystem.NOT_SPECIFIED, - (TDataOutputStream) new TNonSeekableDataOutputStream( - new FileOutputStream(targetFile))); + } + + public void init(AudioFormat format){ + wao = new WaveAudioOutputStream(format,AudioSystem.NOT_SPECIFIED, tos); + } + + public void process(ByteBuffer audioSamples, int numSamples, AudioFormat format) { + + if (!initialized){ + init(format); + initialized = true; + } + + byte[] data = new byte[numSamples]; + audioSamples.get(data, 0, numSamples); + try {wao.write(data, 0, numSamples);} + catch (IOException e) {e.printStackTrace();} } public void cleanup() { @@ -31,10 +50,4 @@ } - public void process(ByteBuffer audioSamples, int numSamples, AudioFormat format) { - byte[] data = new byte[numSamples]; - audioSamples.get(data, 0, numSamples); - try {wao.write(data, 0, numSamples);} - catch (IOException e) {e.printStackTrace();} - } }