package be.tarsos.transcoder; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import be.tarsos.transcoder.ffmpeg.Encoder; import be.tarsos.transcoder.ffmpeg.EncoderException; import be.tarsos.transcoder.ffmpeg.LinuxFFMPEGLocator; import be.tarsos.transcoder.ffmpeg.MacFFMPEGLocator; import be.tarsos.transcoder.ffmpeg.PathFFMPEGLocator; import be.tarsos.transcoder.ffmpeg.WindowsFFMPEGLocator; /** * The main interface to stream audio. * * @author Joren Six */ public class Streamer { /** * Adds default locators to encoder. */ private static void initialize() { if(!Encoder.hasLocators()) { Encoder.addFFMPEGLocator(new WindowsFFMPEGLocator()); Encoder.addFFMPEGLocator(new MacFFMPEGLocator()); Encoder.addFFMPEGLocator(new LinuxFFMPEGLocator()); Encoder.addFFMPEGLocator(new PathFFMPEGLocator()); } } private Streamer(){ } public static AudioInputStream stream(final String source, final Attributes targetEncoding) throws EncoderException { initialize(); return new Encoder().stream(source, targetEncoding); } public static AudioFormat streamAudioFormat( final Attributes targetEncoding) throws EncoderException { return Encoder.getTargetAudioFormat(targetEncoding); } }