1- import livekit
2- import logging
31import asyncio
2+ import logging
43from signal import SIGINT , SIGTERM
54
5+ import livekit
6+
67URL = 'ws://localhost:7880'
78TOKEN = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE5MDY2MTMyODgsImlzcyI6IkFQSVRzRWZpZFpqclFvWSIsIm5hbWUiOiJuYXRpdmUiLCJuYmYiOjE2NzI2MTMyODgsInN1YiI6Im5hdGl2ZSIsInZpZGVvIjp7InJvb20iOiJ0ZXN0Iiwicm9vbUFkbWluIjp0cnVlLCJyb29tQ3JlYXRlIjp0cnVlLCJyb29tSm9pbiI6dHJ1ZSwicm9vbUxpc3QiOnRydWV9fQ.uSNIangMRu8jZD5mnRYoCHjcsQWCrJXgHCs0aNIgBFY'
89
910
10- async def main ():
11+ async def main () -> None :
1112 room = livekit .Room ()
1213
13- @room .on ("participant_connected" )
14- def on_participant_connected (participant : livekit .RemoteParticipant ):
14+ @room .listens_to ("participant_connected" )
15+ def on_participant_connected (participant : livekit .RemoteParticipant ) -> None :
1516 logging .info (
1617 "participant connected: %s %s" , participant .sid , participant .identity )
1718
18- @room .on ("participant_disconnected" )
19+ @room .listens_to ("participant_disconnected" )
1920 def on_participant_disconnected (participant : livekit .RemoteParticipant ):
2021 logging .info ("participant disconnected: %s %s" ,
2122 participant .sid , participant .identity )
2223
23- @room .on ("local_track_published" )
24+ @room .listens_to ("local_track_published" )
2425 def on_local_track_published (publication : livekit .LocalTrackPublication , track : livekit .LocalAudioTrack | livekit .LocalVideoTrack ):
2526 logging .info ("local track published: %s" , publication .sid )
2627
27- @room .on ("active_speakers_changed" )
28+ @room .listens_to ("active_speakers_changed" )
2829 def on_active_speakers_changed (speakers : list [livekit .Participant ]):
2930 logging .info ("active speakers changed: %s" , speakers )
3031
31- @room .on ("local_track_unpublished" )
32+ @room .listens_to ("local_track_unpublished" )
3233 def on_local_track_unpublished (publication : livekit .LocalTrackPublication ):
3334 logging .info ("local track unpublished: %s" , publication .sid )
3435
35- @room .on ("track_published" )
36+ @room .listens_to ("track_published" )
3637 def on_track_published (publication : livekit .LocalTrackPublication , participant : livekit .RemoteParticipant ):
3738 logging .info ("track published: %s from participant %s (%s)" ,
3839 publication .sid , participant .sid , participant .identity )
3940
40- @room .on ("track_unpublished" )
41+ @room .listens_to ("track_unpublished" )
4142 def on_track_unpublished (publication : livekit .LocalTrackPublication , participant : livekit .RemoteParticipant ):
4243 logging .info ("track unpublished: %s" , publication .sid )
4344
4445 # Keep a reference to the streams, otherwise they will be disposed
4546 audio_stream = None
4647 video_stream = None
4748
48- @room .on ("track_subscribed" )
49+ @room .listens_to ("track_subscribed" )
4950 def on_track_subscribed (track : livekit .Track , publication : livekit .RemoteTrackPublication , participant : livekit .RemoteParticipant ):
5051 logging .info ("track subscribed: %s" , publication .sid )
5152 if track .kind == livekit .TrackKind .KIND_VIDEO :
@@ -66,41 +67,41 @@ def on_audio_frame(frame: livekit.AudioFrame):
6667 # received an audio frame from the track
6768 pass
6869
69- @room .on ("track_unsubscribed" )
70+ @room .listens_to ("track_unsubscribed" )
7071 def on_track_unsubscribed (track : livekit .Track , publication : livekit .RemoteTrackPublication , participant : livekit .RemoteParticipant ):
7172 logging .info ("track unsubscribed: %s" , publication .sid )
7273
73- @room .on ("data_received" )
74+ @room .listens_to ("data_received" )
7475 def on_data_received (data : bytes , kind : livekit .DataPacketKind , participant : livekit .Participant ):
7576 logging .info ("received data from %s: %s" , participant .identity , data )
7677
77- @room .on ("connection_quality_changed" )
78+ @room .listens_to ("connection_quality_changed" )
7879 def on_connection_quality_changed (participant : livekit .Participant , quality : livekit .ConnectionQuality ):
7980 logging .info ("connection quality changed for %s" , participant .identity )
8081
81- @room .on ("track_subscription_failed" )
82+ @room .listens_to ("track_subscription_failed" )
8283 def on_track_subscription_failed (participant : livekit .RemoteParticipant , track_sid : str , error : str ):
8384 logging .info ("track subscription failed: %s %s" ,
8485 participant .identity , error )
8586
86- @room .on ("connection_state_changed" )
87+ @room .listens_to ("connection_state_changed" )
8788 def on_connection_state_changed (state : livekit .ConnectionState ):
8889 logging .info ("connection state changed: %s" , state )
8990
90- @room .on ("connected" )
91- def on_connected ():
91+ @room .listens_to ("connected" )
92+ def on_connected () -> None :
9293 logging .info ("connected" )
9394
94- @room .on ("disconnected" )
95- def on_disconnected ():
95+ @room .listens_to ("disconnected" )
96+ def on_disconnected () -> None :
9697 logging .info ("disconnected" )
9798
98- @room .on ("reconnecting" )
99- def on_reconnecting ():
99+ @room .listens_to ("reconnecting" )
100+ def on_reconnecting () -> None :
100101 logging .info ("reconnecting" )
101102
102- @room .on ("reconnected" )
103- def on_reconnected ():
103+ @room .listens_to ("reconnected" )
104+ def on_reconnected () -> None :
104105 logging .info ("reconnected" )
105106
106107 try :
0 commit comments