Skip to main content

Video.Client

You can use instances of this class to subscribe to video events.

Example​

const video = new Video.Client({
project: "<project-id>",
token: "<project-token>"
});

video.on("room.started", async (roomSession) => {
console.log("Room started");
});

video.on("room.ended", async (roomSession) => {
console.log("Room ended");
});

const { roomSessions } = await video.getRoomSessions();

Constructors​

constructor​

• new Client(opts)

Create a new Client instance.

Parameters​

NameTypeDescription
optsObject-
opts.projectstringSignalWire project id, e.g. a10d8a9f-2166-4e82-56ff-118bc3a4840f
opts.tokenstringSignalWire project token, e.g. PT9e5660c101cd140a1c93a0197640a369cf5f16975a0079c9
opts.debug?Object-
opts.debug.logWsTraffic?booleanIf true, logs all WebSocket traffic. Default is false.

Example​

const video = new Video.Client({
project: "<project-id>",
token: "<project-token>",
});

Methods​

disconnect​

â–¸ disconnect(): void

Disconnects this client. The client will stop receiving events and you will need to create a new instance if you want to use it again.

Returns​

void

Example​

client.disconnect();

getRoomSessions​

â–¸ getRoomSessions(): Promise<{roomSessions: RoomSession[] }> - See RoomSession for more details.

Returns the currently active room sessions.

Returns​

Promise<{roomSessions: RoomSession[] }> - See RoomSession for more details.

Example​

const video = new Video.Client({
project: "<project-id>",
token: "<project-token>",
});

const { roomSessions } = await video.getRoomSessions();

getRoomSessionById​

â–¸ getRoomSessionById(id): Promise<{roomSessions: RoomSession[] }> - See RoomSession for more details.

Returns a room session given its id. Only in-progress room sessions are currently returned.

Parameters​

NameTypeDescription
idstringId of the room session.

Example​

const video = new Video.Client({
project: "<project-id>",
token: "<project-token>",
});

const { roomSession } = await video.getRoomSessionById();

off​

â–¸ off(event, fn?)

Remove an event handler.

Parameters​

NameTypeDescription
eventstringName of the event. See Events for the list of available events.
fn?FunctionAn event handler which had been previously attached.

on​

â–¸ on(event, fn)

Attaches an event handler to the specified event.

Parameters​

NameTypeDescription
eventstringName of the event. See Events for the list of available events.
fnFunctionAn event handler.

Example​

In the below example, we are listening for the call.state event and logging the current call state to the console. This means this will be triggered every time the call state changes.

call.on("call.state", (call) => {
console.log("call state changed:", call.state);
});

once​

â–¸ once(event, fn)

Attaches an event handler to the specified event. The handler will fire only once.

Parameters​

NameTypeDescription
eventstringName of the event. See Events for the list of available events.
fnFunctionAn event handler.

removeAllListeners​

â–¸ removeAllListeners(event?)

Detaches all event listeners for the specified event.

Parameters​

NameTypeDescription
event?stringName of the event (leave this undefined to detach listeners for all events). See Events for the list of available events.

Events​

room.ended​

• room.ended(roomSession)

Emitted when a room session ends. Your event handler receives an object which is an instance of Video.RoomSession.

const video = new Video.Client(...)
video.on('room.ended', async (roomSession) => {
console.log(roomSession.name)
})

Parameters​

NameType
roomSessionRoomSession

room.started​

• room.started(roomSession)

Emitted when a room session is started. Your event handler receives an object which is an instance of Video.RoomSession. Example:

const video = new Video.Client(...)
video.on('room.started', async (roomSession) => {
console.log(roomSession.name)
})

Parameters​

NameType
roomSessionRoomSession