MeetingSDKDelegate

public protocol MeetingSDKDelegate : AnyObject

Implement an instance of this delegate interface to receive important information about the status of a meeting such as when participants are added, removed, etc..

  • meetingToken(decodedToken:) Default implementation

    Called when a V3 or later server decodes the Meeting token on a joinMeeting call

    Default Implementation

    Declaration

    Swift

    func meetingToken(decodedToken: String)

    Parameters

    decodedToken

    The decoded MJWT for the meeting

  • participantAdded(participant:) Default implementation

    Called when a participant gets added, on the audio_site_changed callback

    Default Implementation

    Declaration

    Swift

    func participantAdded(participant: Participant)

    Parameters

    participant

    Current information of the corresponding participant

  • Called when a participant’s audio stream gets added. You will never receive this for the local user

    Default Implementation

    Declaration

    Swift

    func participantAudioAdded(participant: Participant, streamId: String)

    Parameters

    participant

    Current information of the corresponding participant

    streamId

    Unique stream id

  • participantAudioUpdated(participant:) Default implementation

    Called when a participant’s audio stream gets added. You will never receive this for the local user

    Default Implementation

    Declaration

    Swift

    func participantAudioUpdated(participant: Participant)

    Parameters

    participant

    Current information of the corresponding participant

  • Called when a participant gets added with a video stream, on the video_site_changed callback

    Default Implementation

    Declaration

    Swift

    func participantVideoAdded(participant: Participant, streamId: String)

    Parameters

    participant

    Current information of the corresponding participant

    streamId

    Unique stream id

  • Called when a participant video stream is updated with a new size

    Default Implementation

    Declaration

    Swift

    func participantVideoUpdated(participant: Participant, streamId: String)

    Parameters

    participant

    Current information of the corresponding participant

    streamId

    Unique stream id

    videoView

    The VideoView for the corresponding participant

  • Called when a video stream is enabled

    Default Implementation

    Declaration

    Swift

    func participantVideoViewCreated(participant: Participant, videoView: VideoView, local: Bool)

    Parameters

    partipant

    Current information of the corresponding participant

    videoView

    The VideoView for the corresponding participant

    local

    Boolean to know if this participant is the local video stream

  • previewVideoViewCreated(videoView:) Default implementation

    Called when a video stream is enabled

    Default Implementation

    Declaration

    Swift

    func previewVideoViewCreated(videoView: VideoView)

    Parameters

    videoView

    The VideoView for the preview stream

  • previewVideoUpdated(streamId:) Default implementation

    Called when a video preview stream is updated

    Default Implementation

    Declaration

    Swift

    func previewVideoUpdated(streamId: String)
  • Called when a video stream is enabled but the VideoView already exists

    Default Implementation

    Declaration

    Swift

    func participantVideoViewRetrieved(participant: Participant, videoView: VideoView, local: Bool)

    Parameters

    partipant

    Current information of the corresponding participant

    videoView

    The VideoView for the corresponding participant

    local

    Boolean to know if this participant is the local video stream

  • Called when a participant’s video is removed, on the video_stream_removed callback

    Default Implementation

    Declaration

    Swift

    func participantVideoRemoved(participant: Participant, streamId: String)

    Parameters

    participant

    Current information of the corresponding participant

    videoView

    The VideoView for the corresponding participant

  • Called when the remote layout of a participant’s video is changed

    Default Implementation

    Declaration

    Swift

    func particpantVideoRemoteLayoutChanged(participant: Participant, streamId: String)

    Parameters

    participant

    Current information of the corresponding participant

    streamId

    Unique stream id

  • participantRemoved(participant:) Default implementation

    Called when a participant leaves or is removed from the meeting, on the audio_stream_removed callback

    Default Implementation

    Declaration

    Swift

    func participantRemoved(participant: Participant)

    Parameters

    participant

    Current information of the corresponding participant

  • inputMeterChanged(meter:) Default implementation

    Called when the input volume is and gets the level of volume between 0 and 100

    Default Implementation

    Declaration

    Swift

    func inputMeterChanged(meter: Int)

    Parameters

    meter

    The level between 0 and 100

  • outputMeterChanged(meter:) Default implementation

    Called when the output volume is changing and gets the level of volume between 0 and 100

    Default Implementation

    Declaration

    Swift

    func outputMeterChanged(meter: Int)

    Parameters

    meter

    The level between 0 and 100

  • Called when a participant is inputting a volume and gets the level of volume between 0 and 100

    Default Implementation

    Declaration

    Swift

    func participantAmplitudeChanged(participant: Participant, amplitude: Int, muted: Bool)

    Parameters

    participant

    The corresponding participant that is inputting volume

    amplitude

    The level between 0 and 100

    muted

    True if the participant is muted, false if not

  • logMessage(level:message:) Default implementation

    Called whenever a new log message has been logged from either the lower level SDK, IGVideo or IGAudio. Only used if the MeetingSDK method enableInlineAudioVideoLogging has been called with a parameter of “true”

    Default Implementation

    Declaration

    Swift

    func logMessage(level: Int, message: String)

    Parameters

    level

    The log level

    message

    The log message

  • amplitude(participant:amplitude:) Default implementation

    Called when a participant is inputting a volume and gets the level of volume between 0 and 100

    Default Implementation

    Declaration

    Swift

    func amplitude(participant: Participant, amplitude: Int)

    Parameters

    participant

    The corresponding participant that is inputting volume

    amplitude

    The level between 0 and 100

  • binaryPlaybackEnded(id:) Default implementation

    Called when a sound played via MeetingSDK.playSound() has completed

    Default Implementation

    Declaration

    Swift

    func binaryPlaybackEnded(id: UInt64)

    Parameters

    id

    The id of the sound that just completed playing

  • binaryPlaybackFailed(id:) Default implementation

    Called when a sound played via MeetingSDK.playSound() has failed to play

    Default Implementation

    Declaration

    Swift

    func binaryPlaybackFailed(id: UInt64)

    Parameters

    id

    The id of the sound that just failed to play

  • screenShareCancelled() Default implementation

    Called when an iOS screen share has been terminated (either by a “disableVideoCapture” call or by the user stopping it from the iOS controls)

    Default Implementation

    Declaration

    Swift

    func screenShareCancelled()

    Parameters

    id

    The id of the sound that just failed to play

  • meetingDisconnected() Default implementation

    Called when an active meeting doesn’t get audio/video update packets for 60 seconds

    Default Implementation

    Declaration

    Swift

    func meetingDisconnected()
  • Called when the network strength of a remote participant changes for one of their video feeds

    • participant: The participant this video stream belongs to

    Default Implementation

    Declaration

    Swift

    func participantNetworkQuality(participant: Participant, streamId: String, quality: NetworkQuality)
  • networkQuality(quality:) Default implementation

    Called when the local user’s network strength reading changes

    Default Implementation

    Declaration

    Swift

    func networkQuality(quality: NetworkQuality)
  • connectionStatus(status:) Default implementation

    Called when the meeting connection status changes

    Default Implementation

    Declaration

    Swift

    func connectionStatus(status: ConnectionStatus)