Converted Consumer to BiConsumer to also accept liveClient!

This commit is contained in:
kohlerpop1
2024-06-20 16:51:42 -04:00
parent 0329d3cfeb
commit 77c9cd6b52
3 changed files with 9 additions and 8 deletions

View File

@@ -41,7 +41,7 @@ public class RecorderExample {
{ {
event.getException().printStackTrace(); event.getException().printStackTrace();
}) })
.addListener(TikTokLiveRecorder.use(recorderSettings -> .addListener(TikTokLiveRecorder.use((recorderSettings, liveClient) ->
{ {
recorderSettings.setFfmpegPath("C:\\Users\\ja\\IdeaProjects\\TikTokLiveJava\\extension-recorder\\libs\\ffmpeg.exe"); recorderSettings.setFfmpegPath("C:\\Users\\ja\\IdeaProjects\\TikTokLiveJava\\extension-recorder\\libs\\ffmpeg.exe");
recorderSettings.setOutputFile(new File("C:\\Users\\ja\\IdeaProjects\\TikTokLiveJava\\extension-recorder\\out", "test.flv")); recorderSettings.setOutputFile(new File("C:\\Users\\ja\\IdeaProjects\\TikTokLiveJava\\extension-recorder\\out", "test.flv"));

View File

@@ -25,18 +25,19 @@ package io.github.jwdeveloper.tiktok.extension.recorder;
import io.github.jwdeveloper.tiktok.extension.recorder.api.LiveRecorder; import io.github.jwdeveloper.tiktok.extension.recorder.api.LiveRecorder;
import io.github.jwdeveloper.tiktok.extension.recorder.impl.RecorderListener; import io.github.jwdeveloper.tiktok.extension.recorder.impl.RecorderListener;
import io.github.jwdeveloper.tiktok.extension.recorder.impl.data.RecorderSettings; import io.github.jwdeveloper.tiktok.extension.recorder.impl.data.RecorderSettings;
import io.github.jwdeveloper.tiktok.live.LiveClient;
import java.util.function.Consumer; import java.util.function.*;
public class TikTokLiveRecorder public class TikTokLiveRecorder
{ {
public static LiveRecorder use(Consumer<RecorderSettings> consumer) public static LiveRecorder use(BiConsumer<RecorderSettings, LiveClient> consumer)
{ {
return new RecorderListener(consumer); return new RecorderListener(consumer);
} }
public static LiveRecorder use() public static LiveRecorder use()
{ {
return use(x ->{}); return use((x,y) ->{});
} }
} }

View File

@@ -37,23 +37,23 @@ import io.github.jwdeveloper.tiktok.models.ConnectionState;
import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.HttpsURLConnection;
import java.io.*; import java.io.*;
import java.net.URL; import java.net.URL;
import java.util.function.Consumer; import java.util.function.*;
public class RecorderListener implements LiveRecorder { public class RecorderListener implements LiveRecorder {
private final Consumer<RecorderSettings> consumer; private final BiConsumer<RecorderSettings, LiveClient> consumer;
private RecorderSettings settings; private RecorderSettings settings;
private DownloadData downloadData; private DownloadData downloadData;
private Thread liveDownloadThread; private Thread liveDownloadThread;
public RecorderListener(Consumer<RecorderSettings> consumer) { public RecorderListener(BiConsumer<RecorderSettings, LiveClient> consumer) {
this.consumer = consumer; this.consumer = consumer;
} }
@TikTokEventObserver @TikTokEventObserver
private void onResponse(LiveClient liveClient, TikTokRoomDataResponseEvent event) { private void onResponse(LiveClient liveClient, TikTokRoomDataResponseEvent event) {
settings = RecorderSettings.DEFAULT(); settings = RecorderSettings.DEFAULT();
consumer.accept(settings); consumer.accept(settings, liveClient);
var json = event.getLiveData().getJson(); var json = event.getLiveData().getJson();