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();
})
.addListener(TikTokLiveRecorder.use(recorderSettings ->
.addListener(TikTokLiveRecorder.use((recorderSettings, liveClient) ->
{
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"));

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.impl.RecorderListener;
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 static LiveRecorder use(Consumer<RecorderSettings> consumer)
public static LiveRecorder use(BiConsumer<RecorderSettings, LiveClient> consumer)
{
return new RecorderListener(consumer);
}
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 java.io.*;
import java.net.URL;
import java.util.function.Consumer;
import java.util.function.*;
public class RecorderListener implements LiveRecorder {
private final Consumer<RecorderSettings> consumer;
private final BiConsumer<RecorderSettings, LiveClient> consumer;
private RecorderSettings settings;
private DownloadData downloadData;
private Thread liveDownloadThread;
public RecorderListener(Consumer<RecorderSettings> consumer) {
public RecorderListener(BiConsumer<RecorderSettings, LiveClient> consumer) {
this.consumer = consumer;
}
@TikTokEventObserver
private void onResponse(LiveClient liveClient, TikTokRoomDataResponseEvent event) {
settings = RecorderSettings.DEFAULT();
consumer.accept(settings);
consumer.accept(settings, liveClient);
var json = event.getLiveData().getJson();