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;
}