diff --git a/examples/audio/pom.xml b/examples/audio/pom.xml index 8fc2f95..40ebbee 100644 --- a/examples/audio/pom.xml +++ b/examples/audio/pom.xml @@ -64,7 +64,7 @@ com.github.manevolent ffmpeg4j - 1.0 + 534e72e6e7 \ No newline at end of file diff --git a/examples/audio/src/main/java/com/github/manevolent/ts3j/examples/audio/AudioSender.java b/examples/audio/src/main/java/com/github/manevolent/ts3j/examples/audio/AudioSender.java index f443b86..a6af8df 100644 --- a/examples/audio/src/main/java/com/github/manevolent/ts3j/examples/audio/AudioSender.java +++ b/examples/audio/src/main/java/com/github/manevolent/ts3j/examples/audio/AudioSender.java @@ -49,7 +49,7 @@ public class AudioSender { sink.write(thirtySecondsOfAudio, thirtySecondsOfAudio.length); client.connect( - "your.teamspeak.server", + args[0], 10000L ); diff --git a/examples/audio/src/main/java/com/github/manevolent/ts3j/examples/audio/MusicPlayer.java b/examples/audio/src/main/java/com/github/manevolent/ts3j/examples/audio/MusicPlayer.java index 32ac824..3a7bc7a 100644 --- a/examples/audio/src/main/java/com/github/manevolent/ts3j/examples/audio/MusicPlayer.java +++ b/examples/audio/src/main/java/com/github/manevolent/ts3j/examples/audio/MusicPlayer.java @@ -11,18 +11,29 @@ import com.github.manevolent.ts3j.util.Ts3Debugging; import java.io.EOFException; import java.io.FileInputStream; import java.io.InputStream; +import java.util.Collection; +import java.util.List; import java.util.Queue; import java.util.concurrent.LinkedBlockingQueue; import static com.github.manevolent.ts3j.examples.audio.TeamspeakFastMixerSink.AUDIO_FORMAT; public class MusicPlayer { + /** + * Example: + * java -jar jarfile.jar my.teamspeakserver.com some.mp3 + * + * args[0] - TS3 server hostname (i.e. my.teamspeakserver.com) + * args[1] - Audio file path (accepts MP3, FLAC, WAV, you name it.) (i.e. some.mp3 or C:\some.mp3 or /home/you/some.mp3) + * @param args Arguments + * @throws Exception + */ public static void main(String[] args) throws Exception { Ts3Debugging.setEnabled(false); // Open file FFmpeg.register(); - InputStream inputStream = new FileInputStream("bensound-ukulele.mp3"); + InputStream inputStream = new FileInputStream(args[1]); FFmpegInput input = new FFmpegInput(inputStream); FFmpegSourceStream stream = input.open(FFmpeg.getInputFormatByName("mp3")); FFmpegAudioSourceSubstream audioSourceSubstream = @@ -60,7 +71,7 @@ public class MusicPlayer { sink.start(); client.connect( - "your.teamspeak.server", + args[0], 10000L ); @@ -89,13 +100,17 @@ public class MusicPlayer { if (currentFrame == null || frameOffset >= currentFrame.getLength()) { if (frameQueue.peek() == null) { try { - frameQueue.addAll(resampleFilter.apply(audioSourceSubstream.next())); + AudioFrame frame = audioSourceSubstream.next(); + Collection frameList = resampleFilter.apply(frame); + frameQueue.addAll(frameList); } catch (EOFException ex) { // flush currentFrame break; } } + if (frameQueue.size() <= 0) continue; + currentFrame = frameQueue.remove(); frameOffset = 0; }