steep-balloon-41261
03/28/2025, 10:36 AMtall-airline-16756
03/28/2025, 10:36 AMtall-airline-16756
03/28/2025, 10:36 AMauto_subscribe
to AutoSubscribe.SUBSCRIBE_NONE
when configuring your agent. This disables automatic track subscription, allowing you to manage subscriptions manually.
2. Use track subscription events to selectively subscribe to tracks based on your conditions. For example:
@ctx.room.on("track_subscribed")
def on_track_subscribed(
track: rtc.Track,
publication: rtc.TrackPublication,
participant: rtc.RemoteParticipant,
):
# Conditionally handle tracks based on their kind
if track.kind == rtc.TrackKind.KIND_AUDIO:
asyncio.create_task(do_something(track))
elif track.kind == rtc.TrackKind.KIND_VIDEO:
asyncio.create_task(do_something(track))
Additionally, you can set track subscription permissions using the set_track_subscription_permissions
method to control who can subscribe to your tracks:
def set_track_subscription_permissions(
self,
*,
allow_all_participants: bool,
participant_permissions: Optional[List[ParticipantTrackPermission]] = None,
) -> None
Let me know if you need further clarification or assistance!
Sources: Receiving and publishing tracks | LiveKit Docs | livekit.rtc API documentation | Subscribing to tracks | LiveKit Docs