Skip to content

RtkEventSelfListener

A helper class that wraps self-participant and meeting event listeners with closure-based callbacks. Provides methods for toggling audio and video, observing state changes, and checking device permissions.

Initializer parameters

ParameterTypeRequiredDefaultDescription
rtkClientRealtimeKitClient-The RealtimeKit client instance
identifierString"Default"A unique identifier for this listener instance

Methods

MethodReturn TypeDescription
toggleLocalAudio(completion:)VoidToggles the local microphone on or off
toggleLocalVideo(completion:)VoidToggles the local camera on or off
observeSelfVideo(update:)VoidRegisters a callback for local video state changes
observeSelfAudio(update:)VoidRegisters a callback for local audio state changes
observeSelfRemoved(update:)VoidRegisters a callback for when the local participant is removed
observeSelfMeetingEndForAll(update:)VoidRegisters a callback for when the meeting ends for all participants
observeWebinarStageStatus(update:)VoidRegisters a callback for webinar stage status changes
observeRequestToJoinStage(update:)VoidRegisters a callback for stage join request events
observeSelfPermissionChanged(update:)VoidRegisters a callback for permission changes on the local participant
observeMeetingReconnectionState(update:)VoidRegisters a callback for meeting reconnection state changes
isCameraPermissionGranted()BoolReturns whether camera permission is granted
isMicrophonePermissionGranted()BoolReturns whether microphone permission is granted
clean()VoidRemoves all registered listeners and cleans up resources

Usage Examples

Basic Usage

Swift
import RealtimeKitUI
let listener = RtkEventSelfListener(rtkClient: rtkClient)
listener.observeSelfAudio { isEnabled in
print("Audio enabled: \(isEnabled)")
}
listener.observeSelfVideo { isEnabled in
print("Video enabled: \(isEnabled)")
}

Toggle audio and video

Swift
import RealtimeKitUI
let listener = RtkEventSelfListener(rtkClient: rtkClient)
listener.toggleLocalAudio { success in
print("Audio toggled: \(success)")
}
listener.toggleLocalVideo { success in
print("Video toggled: \(success)")
}

Observe meeting end

Swift
import RealtimeKitUI
let listener = RtkEventSelfListener(
rtkClient: rtkClient,
identifier: "MeetingObserver"
)
listener.observeSelfRemoved {
print("Removed from meeting")
}
listener.observeSelfMeetingEndForAll {
print("Meeting ended for all")
}