Mercurial > jmeCapture
diff src/com/aurellem/capture/audio/AudioSendRenderer.java @ 29:9f58273090df
added AudioFormat to AudioSendRenderer
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sun, 30 Oct 2011 10:06:38 -0700 |
parents | 8a6b1684f536 |
children | be37291c62b8 |
line wrap: on
line diff
1.1 --- a/src/com/aurellem/capture/audio/AudioSendRenderer.java Sun Oct 30 04:43:39 2011 -0700 1.2 +++ b/src/com/aurellem/capture/audio/AudioSendRenderer.java Sun Oct 30 10:06:38 2011 -0700 1.3 @@ -8,6 +8,8 @@ 1.4 import java.util.logging.Level; 1.5 import java.util.logging.Logger; 1.6 1.7 +import javax.sound.sampled.AudioFormat; 1.8 + 1.9 import org.lwjgl.LWJGLException; 1.10 import org.lwjgl.openal.AL; 1.11 import org.lwjgl.openal.AL10; 1.12 @@ -25,6 +27,7 @@ 1.13 extends LwjglAudioRenderer implements MultiListener { 1.14 1.15 private AudioSend audioSend; 1.16 + private static final AudioFormat outFormat = new AudioFormat(44100.0f, 32, 1, true, false); 1.17 1.18 /** 1.19 * Keeps track of all the listeners which have been registered so far. 1.20 @@ -102,7 +105,7 @@ 1.21 public void initInThread(){ 1.22 try{ 1.23 if (!AL.isCreated()){ 1.24 - AL.create("Multiple Audio Send", 44100, 60, false); 1.25 + AL.create("Multiple Audio Send", (int) outFormat.getSampleRate(), 60, false); 1.26 } 1.27 }catch (OpenALException ex){ 1.28 logger.log(Level.SEVERE, "Failed to load audio library", ex); 1.29 @@ -166,11 +169,11 @@ 1.30 } 1.31 1.32 1.33 - public final static int BYTES_PER_SAMPLE = 4; 1.34 + //public final static int BYTES_PER_SAMPLE = 4; 1.35 private ByteBuffer buffer = BufferUtils.createByteBuffer(4096); 1.36 1.37 public void dispatchAudio(float tpf){ 1.38 - int samplesToGet = (int) (tpf * 44100); 1.39 + int samplesToGet = (int) (tpf * outFormat.getSampleRate()); 1.40 try {latch.await();} 1.41 catch (InterruptedException e) {e.printStackTrace();} 1.42 audioSend.step(samplesToGet); 1.43 @@ -181,7 +184,7 @@ 1.44 audioSend.getSamples(buffer, samplesToGet, i); 1.45 SoundProcessor sp = 1.46 this.soundProcessorMap.get(this.listeners.get(i)); 1.47 - if (null != sp){sp.process(buffer, samplesToGet*BYTES_PER_SAMPLE);} 1.48 + if (null != sp){sp.process(buffer, samplesToGet*outFormat.getFrameSize());} 1.49 } 1.50 1.51 }