*/
private void writeSineData( BlockingStream stream, int framesPerBuffer,
int numFrames, int sampleRate )
{
float[] buffer = new float[framesPerBuffer * 2];
SineOscillator osc1 = new SineOscillator( 200.0, sampleRate );
SineOscillator osc2 = new SineOscillator( 300.0, sampleRate );
int framesLeft = numFrames;
while( framesLeft > 0 )
{
int index = 0;
int framesToWrite = (framesLeft > framesPerBuffer) ? framesPerBuffer
: framesLeft;
for( int j = 0; j < framesToWrite; j++ )
{
buffer[index++] = (float) osc1.next();
buffer[index++] = (float) osc2.next();
}
stream.write( buffer, framesToWrite );
framesLeft -= framesToWrite;
}
}