moved to /dispatch and fixed Voice chat
This commit is contained in:
@@ -22,8 +22,8 @@ type TalkState = {
|
||||
disconnect: () => void;
|
||||
room: Room | null;
|
||||
};
|
||||
const getToken = async () => {
|
||||
const response = await fetch(`/api/livekit/token`);
|
||||
const getToken = async (roomName: string) => {
|
||||
const response = await fetch(`/api/livekit/token?roomName=${roomName}`);
|
||||
const data = await response.json();
|
||||
return data.token;
|
||||
};
|
||||
@@ -37,6 +37,8 @@ export const useAudioStore = create<TalkState>((set, get) => ({
|
||||
room: null,
|
||||
toggleTalking: () => set((state) => ({ isTalking: !state.isTalking })),
|
||||
connect: async (roomName) => {
|
||||
set({ state: "connecting" });
|
||||
console.log("Connecting to room: ", roomName);
|
||||
try {
|
||||
// Clean old room
|
||||
const connectedRoom = get().room;
|
||||
@@ -46,14 +48,12 @@ export const useAudioStore = create<TalkState>((set, get) => ({
|
||||
connectedRoom.removeAllListeners();
|
||||
}
|
||||
|
||||
set({ state: "connecting" });
|
||||
const url = process.env.NEXT_PUBLIC_LIVEKIT_URL;
|
||||
if (!url) return console.error("NEXT_PUBLIC_LIVEKIT_URL not set");
|
||||
|
||||
const token = await getToken();
|
||||
const token = await getToken(roomName);
|
||||
if (!token) throw new Error("Fehlende Berechtigung");
|
||||
console.log("Token: ", token);
|
||||
const room = new Room();
|
||||
const room = new Room({});
|
||||
await room.prepareConnection(url, token);
|
||||
room
|
||||
// Connection events
|
||||
@@ -75,6 +75,8 @@ export const useAudioStore = create<TalkState>((set, get) => ({
|
||||
.on(RoomEvent.ActiveSpeakersChanged, handleActiveSpeakerChange)
|
||||
.on(RoomEvent.LocalTrackUnpublished, handleLocalTrackUnpublished);
|
||||
await room.connect(url, token);
|
||||
console.log(room);
|
||||
set({ room });
|
||||
interval = setInterval(() => {
|
||||
set({
|
||||
remoteParticipants:
|
||||
|
||||
Reference in New Issue
Block a user