{
let { Room, RoomEvent, Track } = LiveKit;
const token =
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MjkxOTU3MjEsImlzcyI6IkFQSXRTYndYdlNqaDRjZiIsIm5hbWUiOiJzY3JlZW5fc2hhcmUiLCJuYmYiOjE3MjkxMDkzMjEsInN1YiI6InNjcmVlbl9zaGFyZSIsInZpZGVvIjp7ImNhblVwZGF0ZU93bk1ldGFkYXRhIjp0cnVlLCJyb29tIjoicm9vbSIsInJvb21BZG1pbiI6dHJ1ZSwicm9vbUNyZWF0ZSI6dHJ1ZSwicm9vbUpvaW4iOnRydWUsInJvb21MaXN0Ijp0cnVlLCJyb29tUmVjb3JkIjp0cnVlfX0.Ub3VigeCkaL4sG4cdw7VaPfaHECuMg8buy6u38xqZPQ";
let room;
const button = document.getElementById("share");
vid_4.addEventListener("click", joinRoom);
async function joinRoom() {
room = new Room();
const url = "wss://omnissiah-university-kmuz0plz.livekit.cloud";
await room.connect(url, token);
room.on(RoomEvent.TrackSubscribed, (track, publication, participant) => {
if (
track.kind === Track.Kind.Video &&
track.source === Track.Source.ScreenShare
) {
track.attach(vid_4);
}
});
room.on(RoomEvent.TrackUnsubscribed, (track, publication, participant) => {
if (
track.kind === Track.Kind.Video &&
track.source === Track.Source.ScreenShare
) {
track.detach(vid_4);
}
});
room.on(RoomEvent.LocalTrackPublished, (publication, participant) => {
if (
publication.kind === Track.Kind.Video &&
publication.source === Track.Source.ScreenShare
) {
publication.track.attach(vid_4);
}
});
room.on(RoomEvent.LocalTrackUnpublished, (publication, participant) => {
if (
publication.kind === Track.Kind.Video &&
publication.source === Track.Source.ScreenShare
) {
publication.track.detach(vid_4);
}
});
toggleScreenShare(room);
}
async function toggleScreenShare(room) {
const enabled = room.localParticipant.isScreenShareEnabled;
console.log(`${enabled ? "stopping" : "starting"} screen share`);
try {
await room.localParticipant.setScreenShareEnabled(!enabled, {
audio: true
});
} catch (e) {
console.error("error sharing screen", e);
}
}
}