@Override public void run () { while (true) { recorder.read(samples, 0, samples.length); device.writeSamples(samples, 0, samples.length); } } });
@Override public void run () { final float frequency = 440; float increment = (float)(2 * Math.PI) * frequency / 44100; // angular increment for each sample float angle = 0; float samples[] = new float[1024]; while (!stop) { for (int i = 0; i < samples.length; i += 2) { samples[i] = 0.5f * (float)Math.sin(angle); samples[i + 1] = 2 * samples[i]; angle += increment; } device.writeSamples(samples, 0, samples.length); } device.dispose(); } });
public boolean write(float []buffer, int offset, int size) { try { ad.writeSamples(buffer, 0, size); return true; } catch(Exception e) { System.err.println("ERROR " + e); return false; } }