@Override public void pause () { device.dispose(); recorder.dispose(); }
@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 void close() { if(ad != null) { System.out.println("DEVICE OUTPUT: closing..."); ad.dispose(); ad = null; } } }