Observe raw room events, typed chat messages, socket state, LiveKit state, participants, and media events.
Room events
dart
final roomEvents = sdk.roomEvents.listen((event) {
final type = event['type'];
final data = event['data'];
print('$type: $data');
});Socket state
dart
final socketStates = sdk.socketStates.listen((state) {
print('Socket: $state');
});Chat messages
dart
final messages = sdk.roomMessages.listen((message) {
print(message.message);
});Media state and participants
dart
final connections = sdk.connectionStates.listen((state) {
print('Media: $state');
});
final participants = sdk.participants.listen((items) {
print('Participants: ${items.length}');
});
final mediaEvents = sdk.mediaEvents.listen((event) {
print(event);
});Common room event types
| Type | Purpose |
|---|---|
UserJoined / UserLeft | Room presence |
ChatMessageCreated | Realtime chat |
ReactionSent | Emoji reactions |
GiftSent | Gift animation and score updates |
MusicStateChanged | Room music synchronization |
SeatTaken / SeatLeft | Microphone seats |
RoomThemeUpdated | Room appearance |
Dispose subscriptions
dart
await roomEvents.cancel();
await socketStates.cancel();
await messages.cancel();
await connections.cancel();
await participants.cancel();
await mediaEvents.cancel();