public void newSource(AudioSource s, boolean suspend) { if (!suspend) { // System.out.println("AudioProcessor.newSource suspend=false"); source.close(); source = s; AudioFormat format = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, 8000, 16, 1, 2, 8000, bigEndian); if (source != null) source.init(this, format, frameSize); } else { // System.out.println("AudioProcessor.newSource suspend=true"); // System.out.println(" original source="+source.getClass()); // System.out.println(" new source="+s.getClass()); suspendedSource = source; // System.out.println(" halting original source"); source.halt(); // System.out.println(" original source halted"); source = s; AudioFormat format = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, 8000, 16, 1, 2, 8000, bigEndian); if (source != null) { // System.out.println(" calling initialize method of new // source"); source.init(this, format, frameSize); } // System.out.println(" new source initialized"); } // System.out.println("AudioProcessor.newSource exits"); }
public void stop() { Logger.info("AudioProcessor.stop: closing all inputs and outputs"); if (source != null) source.close(); if (sender != null) sender.close(); if (destination != null) destination.close(); if (receiver != null) receiver.close(); return; }
public boolean resumeSuspendedSource() { Logger.debug("audioprosessor.resumesuspendedsource starts"); if (suspendedSource == null) return false; Logger.debug("close source"); source.close(); Logger.debug("source closed"); source = null; Logger.debug("vanha source"); source = suspendedSource; Logger.debug("unhalt vanha source"); boolean ok = source.unhalt(); Logger.debug("vanha source unhalted"); Logger.debug("audioprosessor.resumesuspendedsource ends"); return ok; }